Jujutsu: A Git-compatible DVCS that is both simple and powerful
Nice to see this posted here. I switched over to it about 2-3 weeks ago, and I haven&#x27;t looked back. It took a lot of mental rewiring, but I really enjoy the workflow `jj` provides. There&#x27;s no longer a time to think about what&#x27;s being committed, because all file changes automatically amend the working copy commit. Of course, sometimes you don&#x27;t want this, so you have things like the ability to split a commit into two, moving commits, etc. But having _everything_ operate on commits is really nice! Other niceities that I like:<p>- `jj log` is awesome for getting an overview of all your branches. If, like me, you have a lot of work in progress at once, this provides a great map<p>- Conflict resolution is really cool, as you can partially resolve conflicts, and then switch branches. Conflicts are also tracked specially, but I haven&#x27;t done too much with this yet.<p>- The abbreviated changeset ids are really handy. I often will just `jj log` (or in my case just `jj` as that&#x27;s the default), notice a changeset I want to rebase, then run `jj rebase -s qr -d master`. `qr` here is an abbreviated changeset id for a branch&#x2F;commit, and usually much quicker than typing the branch name out! This will probably change when clap gets updated to support dynamic tab-completion though.