I've been curious about non-git version control systems like Mercurial, Fossil, and Pijul for a while, but switching away from git is difficult given its ubiquity, particularly considering the other VCSes have next to no support among the major hosting platforms.
However, a friend recently clued me in to a relatively new VCS that's repo-compatible with git. It's called Jujutsu. You can use Jujutsu with git forges like GitHub, and you can collaborate with people using git--without them even knowing!
After playing around with it for a few weeks, it's almost completely supplanted git for me; I don't foresee myself going back. The CLI is much more sensible--a famous shortcoming of git--but it's more than just another git frontend. Its data model makes rewriting history, rebasing, and conflict resolution much less painful. It took some adjustment and unlearning of git paradigms, but after just a few weeks I'm already more confident navigating complex situations in Jujutsu than I am after 10 years of working with git.
My one gripe with Jujutsu is the lack of git LFS support; using Jujutsu with LFS-enabled repos will implicitly check in those files, which is annoying.
A friend and I collaborated to write a quick reference and cheat sheet for Jujutsu. You can find his blog post here.
I highly recommend you give it a try.
Comments