Re:Rewrite Git history via drag-and-drop
by ilyagr on Tuesday December 03, 2024 @04:11PM
(#42311490)
I'll add that while `jj` itself is a CLI, people have made GUIs on top of it that allow for drag and dropping of commits:
Came to plug jj as well.
Steve klabnik's tutorial is excellent as well. https://steveklabnik.github.io/jujutsu-tutorial/introduction...
Re:Rewrite Git history via drag-and-drop
by IshKebab on Tuesday December 03, 2024 @04:57PM
(#42312005)
Yeah I've heard of it. I was put of by the removal of the staging area which I think is one of Git's nicest features.
Maybe I'll check it out. Deferring conflict resolution is definitely a killer feature.
Re:Rewrite Git history via drag-and-drop
by stouset on Wednesday December 04, 2024 @06:11AM
(#42316396)
This was the exact thing that kept me from trying it sooner. I wish I’d realized that that doesn’t imply an “everything gets committed” approach.
It’s trivial to split a change in two. So your working copy is constantly snapshotted, and when you’re finished you `jj split` and choose the parts you want to keep. The rest is moved out into a new change.
That workflow is in practice basically identical to the `git add -p` one, though the terminology is a bit different and there are some greatly simplifying changes under the hood.
It is one of those rare birds that is both more powerful than the tool that it replaces while also being drastically easier to use. I am (was?) a git power user. It took me all of a day to replace git with jj and generously the rest of the week to become essentially as fluent. I will never go back.
Chris Krycho's post[2] was what originally sold me and I hope it sells you too.
[1] https://github.com/martinvonz/jj
[2] https://v5.chriskrycho.com/essays/jj-init/