git-branchless VS jj

Compare git-branchless vs jj and see what are their differences.

git-branchless

High-velocity, monorepo-scale workflow for Git (by arxanas)

jj

A Git-compatible VCS that is both simple and powerful (by martinvonz)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
git-branchless jj
55 88
3,306 6,642
- -
9.4 10.0
5 days ago 4 days ago
Rust Rust
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

git-branchless

Posts with mentions or reviews of git-branchless. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-10.
  • Ask HN: Can we do better than Git for version control?
    17 projects | news.ycombinator.com | 10 Dec 2023
    Yes, but due to its simplicity + extensibility + widespread adoption, I wouldn’t be surprised if we’re still using Git 100+ years from now.

    The current trend (most popular and IMO likely to succeed) is to make tools (“layers”) which work on top of Git, like more intuitive UI/patterns (https://github.com/jesseduffield/lazygit, https://github.com/arxanas/git-branchless) and smart merge resolvers (https://github.com/Symbolk/IntelliMerge, https://docs.plasticscm.com/semanticmerge/how-to-configure/s...). Git it so flexible, even things that it handles terribly by default, it handles

  • Meta developer tools: Working at scale
    6 projects | news.ycombinator.com | 28 Jun 2023
  • Show HN: Gut – An easy-to-use CLI for Git
    19 projects | news.ycombinator.com | 30 Mar 2023
  • Branchless Workflow for Git
    1 project | /r/hypeurls | 8 Jan 2023
    4 projects | news.ycombinator.com | 8 Jan 2023
    > Is this for a case where a bunch of people branch from master@HEAD (lets call this A), then you need to modify A, so you then need to rebase each branch that branched from A individually?

    Mainly it's for when you branch from A multiple times, and then modify A. This can happen if you have some base work that you build multiple features on top of. I routinely do this as part of rapid prototyping, as described here: https://github.com/arxanas/git-branchless/wiki/Workflow:-div...

    `git undo` shows a list of operations it'll execute, which you have to confirm before accepting. Of course, it's ultimately a matter of trust in the tools you use.

  • Where are my Git UI features from the future?
    9 projects | news.ycombinator.com | 8 Jan 2023
  • git-branchless: High-velocity, monorepo-scale workflow for Git
    1 project | /r/CKsTechNews | 17 Nov 2022
  • git-branchless
    1 project | news.ycombinator.com | 17 Nov 2022
  • Show HN: Maiao, Stacked Diffs for GitHub
    4 projects | news.ycombinator.com | 8 Oct 2022
    What happens is you work somewhere that has stacked diffs and suddenly you learn how to shape your diffs to make them easy to review. Thinking of how folks will review your code in chunks while writing it makes it cleaner. Having small but easy to read diffs makes reviews faster and helps junior devs learn how to review.

    Sometimes this doesn’t happen in which case you end up need to split your commit at the end. This is where git utterly fails. You end up needing git split and git absorb to make this productive.

    Git split let’s you select which chunks in a commit should belong to it and then splits that into a commit and then you do it again and again until you have lots of commits. You’ll still need to probably test each one but the majority of the work is done

    Git absorb takes changes on the top of your stack and magically finds which commit in your stack the each chunk should belong to and amends it to the right commit

    You also need git branchless https://github.com/arxanas/git-branchless as it lets you move up and down the stack without needing to remember so much git arcana.

  • High velocity, monorepo-scale workflow for Git
    1 project | news.ycombinator.com | 19 Sep 2022

jj

Posts with mentions or reviews of jj. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-05.
  • Why Don't I Like Git More?
    4 projects | news.ycombinator.com | 5 Apr 2024
  • Twenty Years Is Nothing
    4 projects | news.ycombinator.com | 4 Mar 2024
    Jujutsu is along the lines of what you describe: https://github.com/martinvonz/jj

    You can drop it in and work seamlessly from git repos

  • Git Branches as a Social Construct
    4 projects | news.ycombinator.com | 15 Jan 2024
    Pull Requests (or Merge Requests) are merged only when (1) all of the automated tests pass; and (2) enough necessary reviewers have indicated approval.

    Git doesn't tell you when it's necessary to have full test coverage and manual infosec review in development cycles that produce releases, and neither do Pull Requests.

    https://westurner.github.io/hnlog/#comment-19552164 ctrl-f hubflow

    It looks like datasift's gitflow/hubflow docs are 404'ing, but the original nvie blog post [1] has the Git branching workflow diagrams; which the wpsharks/hubflow fork [3] of datasift/gitflow fork [2] of gitflow [1]has a copy of in the README:

    [1] https://github.com/nvie/gitflow

    [2] https://github.com/datasift/gitflow

    [3] https://github.com/wpsharks/hubflow?tab=readme-ov-file

    https://learngitbranching.js.org/ is still a great resource, and it could work on mobile devices.

    The math of VCS deltas and mutable and immutable content-addressed DAG nodes identified by 2^n bits describing repo/$((2*inf)) bits ;

    >> "ugit – Learn Git Internals by Building Git in Python" https://www.leshenko.net/p/ugit/

    SLSA.dev is a social construct atop e.g. git, which is really a low-level purpose-built tool and Perl and now Python porcelain.

    jj (jujutsu) is a git-compatible VCS CLI: https://github.com/martinvonz/jj

    "Ask HN: Best Git workflow for small teams" (2016)

  • PyPy has moved to Git, GitHub
    3 projects | news.ycombinator.com | 1 Jan 2024
    You will probably like Jujutsu, which takes much inspiration from Mercurial: https://github.com/martinvonz/jj

    It isn't a 1-to-1 clone, either. But tools like revsets are there, cset evolution is "built in" to the design, etc. There is no concept of phases, we might think about adding that, but there is a concept of immutable commits (so you don't overwrite public ones.)

    It also has many novel features that make it stand out. We care a lot about performance and usability. Give it a shot. I think you might be pleasantly surprised.

    Disclosure: I am a developer of Jujutsu. I do it in my spare time.

  • Ask HN: Can we do better than Git for version control?
    17 projects | news.ycombinator.com | 10 Dec 2023
    I have created a discussion. Thank you both

    https://github.com/martinvonz/jj/discussions/2691

  • I (kind of) killed Mercurial at Mozilla
    12 projects | news.ycombinator.com | 21 Nov 2023
    > why don't version control systems (especially ones that can change history) have undo/redo functionality out of the box?

    It's true. And Jujutsu has undo functionality out of the box, too. It's not just Sapling. :) https://github.com/martinvonz/jj

  • Confusing Git Terminology
    5 projects | news.ycombinator.com | 2 Nov 2023
  • Things I just don't like about Git
    6 projects | news.ycombinator.com | 8 Oct 2023
    Git made the only choice a popular VCS can make. History rewrites will exist, period. If you're opposed to history rewrites, then git gives you the tools to ensure the repos you control are not rewritten, and that's all it can do in a world where people have control of their own computers.

    If Fossil ever becomes as popular as git, people will create software that allows history rewriting in Fossil, and that's fine. People will do what they want on their own computer, and I think it's morally wrong to try and stop that.

    Another user in this thread linked to jj [0], an alternative git client that does some pretty weird things. For example, it replaces the working tree with a working commit and commits quite often. I like git and that seems weird to me, but I'm not offended, people can do what they want on their own computer and I have the tools to ensure repos under my control are not effected. That's all I can hope for.

    [0]: https://github.com/martinvonz/jj

  • Pijul: Version-Control Post-Git • Goto 2023
    11 projects | news.ycombinator.com | 11 Aug 2023
    I recently found out about another project called jj: https://github.com/martinvonz/jj. It takes inspiration from Pijul and others but is git-compatible.
  • A beginner's guide to Git version control
    4 projects | news.ycombinator.com | 7 Aug 2023
    https://github.com/martinvonz/jj

    I think maybe both fossil and bitkeeper are more intuitive too.

    Did you try any of those?

What are some alternatives?

When comparing git-branchless and jj you can also consider the following projects:

graphite-cli - Graphite's CLI makes creating and submitting stacked changes easy.

Git - Git Source Code Mirror - This is a publish-only repository but pull requests can be turned into patches to the mailing list via GitGitGadget (https://gitgitgadget.github.io/). Please follow Documentation/SubmittingPatches procedure for any of your improvements.

magit - It's Magit! A Git Porcelain inside Emacs.

forgit - :zzz: A utility tool powered by fzf for using git interactively.

vimagit - Ease your git workflow within Vim

EdenSCM - A Scalable, User-Friendly Source Control System. [Moved to: https://github.com/facebook/sapling]

lazygit - simple terminal UI for git commands

pre-commit - A framework for managing and maintaining multi-language pre-commit hooks.

libgit2 - A cross-platform, linkable library implementation of Git that you can use in your application.

git-imerge - Incremental merge for git

legit - Git for Humans, Inspired by GitHub for Mac™.

GitUp - The Git interface you've been missing all your life has finally arrived.