top | item 45661308

(no title)

Lanedo | 4 months ago

I find JJ to make things much easier for me than Git:

- No staging needed, edit your commit directly in your working directory

- Rebasing is automatic, I regularly edit historic commits and the messages

- jj absorb will automatically split and merge hunks into related ancestry commits

- Defer conflict resolution; many conflicts are resolved later by splitting/squashing/moving commits/hunks further (possible only for first-class conflicts)

- No interactive rebase needed, since jj commands automatically rebase while editing historic commits, it feels like constantly living within an interactive rebase

- Easily refer to the same revision (change) across rebase commands by using a jj change_id, without scribbling down Git commit hashes that change across a rebase

- Easily undo (+redo) your last commands through the jj operation log without having to backup the entire git repo at each step

And jj-fzf (https://github.com/tim-janik/jj-fzf/) gives me every useful jj command with a single hotkey (e.g. Ctrl-P for push, Ctrl-N for a new commit with 1+ parents, Alt-B to edit bookmarks/tags, Alt-R to rebase, Alt-Z for undo, …) while browsing the log with commit+diff preview.

discuss

order

No comments yet.