git-branchless VS magit

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

git-branchless

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

magit

It's Magit! A Git Porcelain inside Emacs. (by magit)
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 magit
55 119
3,306 6,366
- 1.1%
9.4 9.3
5 days ago 6 days ago
Rust Emacs Lisp
Apache License 2.0 GNU General Public License v3.0 only
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

magit

Posts with mentions or reviews of magit. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-27.
  • M-X Reloaded: The Second Golden Age of Emacs – (Think)
    4 projects | news.ycombinator.com | 27 Feb 2024
    Then the slowness that you're seeing is probably Windows-specific, and that's why everyone else is telling you that Magit is actually fast.

    WSL might make things faster.[1] IIUC, the problem is that starting new processes is much slower on Windows than on Linux/Unix and Magit relies heavily on that. This seems to have plagued Git tooling more generally but maybe this got fixed since then.[2]

    [1] https://emacs.stackexchange.com/a/58444

    [2] https://github.com/magit/magit/issues/2395#issuecomment-1710...

  • I (kind of) killed Mercurial at Mozilla
    12 projects | news.ycombinator.com | 21 Nov 2023
  • Is it too late to learn emacs as a vim lifer?
    3 projects | /r/emacs | 3 Oct 2023
    You'll want to invest the time in learning Magit, which will change your life once you get the hang of it (and I was a heavy user of Fugitive in Vim previously!), and it's unlikely you'll find a better integration with GDB anywhere else on the planet than with Emacs, though I can't say that empirically. You just need to take the plunge and start learning it, then cut over and take the hit in productivity one day when you're feeling adventurous. You'll ultimately become far more powerful than you've ever been. Especially if you delve into elisp over time. I use Spacemacs, which is bloated and has bugs, but it has so many features that I haven't undertaken the massive endeavor to replace it from scratch yet.
  • On Desktop GUI Minimalism
    5 projects | news.ycombinator.com | 9 Sep 2023
    > Even in this article just a few sentences after stating we should start from first principles he then jumps into the assumption of the "desktop".

    Agree. Although I can see how the idea of "first principles" can be a very difficult starting point. A blank sheet of paper is a scary monster.

    There's a huge breadth and depth of non-"desktop" GUIs out there, some (like smartphones) are even wildly successful. It's good to explore them for inspiration. Some of my favourites:

    - Arcan (https://arcan-fe.com/about/) - I won't attempt to summarize, just dive in!

    - SailfishOS (https://sailfishos.org/) - mobile UI focused on interaction through gestures / swipes; I've used it as my daily driver for a couple years.

    - Speaking of mobiles, classic Nokia UIs allowed you to navigate to a specific item in the menu by pressing the corresponding digit on the dial pad. Once you learned where a particular item is, accessing e.g. your SMS inbox was extremely quick.

    - Apple Watch / WatchOS (https://www.apple.com/watchos/) - I've always loved the idea of a device where one of the primary interaction methods was a wheel/dial of some sort. The watch even gives you context-sensitive tactile feedback.

    - ZUIs in general (https://en.wikipedia.org/wiki/Zooming_user_interface) and the work of Jef Raskin in particular: https://en.wikipedia.org/wiki/Archy_(software) - this is the guy who helped design the Macintosh, but his other work took a radically different route.

    - Magit (https://magit.vc/). Many common git operations are reduced to a couple of keystrokes; the obscure features are more discoverable, and the cumbersome procedures (such as rebasing, or staging individual hunks) become simple and intuitive. Also check out transient (https://github.com/magit/transient), which is the "UI toolkit" that powers Magit.

  • Not trying to start a rumble, but why emacs
    6 projects | /r/emacs | 10 Jul 2023
    This can be done most comfortably with org-mode in emacs. It offers a lot of features, and they all operate on plain text. There are also nice integrations for git and languagetool, but I guess those are less exclusive.
  • Introducing Consult-GH
    5 projects | /r/emacs | 27 Jun 2023
    How does this differ from https://magit.vc/ ?
  • Magit
    1 project | /r/hypeurls | 26 Jun 2023
    9 projects | news.ycombinator.com | 26 Jun 2023
  • Warp is a modern, Rust-based terminal with AI built in
    2 projects | news.ycombinator.com | 22 Jun 2023
    I would rather see innovative tools that lessen our dependency on 50+ year old tech. This is still a glorified teletype. It uses AI to autosuggest git commands? Contrast with Magit[1], which (while it has a tiny bit of a learning curve, but also nowhere near 23M in funding) actually makes interacting with git a pleasure.

    [1]: https://magit.vc

  • A warning to always remember that Obsidian Sync is potentially dangerous
    3 projects | /r/ObsidianMD | 5 Jun 2023
    Also was using Emacs (org-mode)[https://orgmode.org] for years with (Magit)[https://magit.vc] package for git. I feel org-mod is a precursor to Roam Research, Obsidian, et al. Hit the spot for years but I wanted editing on mobile so that’s why I’m here. :)

What are some alternatives?

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

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

vim-fugitive - fugitive.vim: A Git wrapper so awesome, it should be illegal

jj - A Git-compatible VCS that is both simple and powerful

lazygit - simple terminal UI for git commands

vimagit - Ease your git workflow within Vim

doom-emacs - An Emacs framework for the stubborn martian hacker [Moved to: https://github.com/doomemacs/doomemacs]

code-review - Code Reviews in Emacs

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

gitui - Blazing 💥 fast terminal-ui for git written in rust 🦀

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

emacs-ng - A new approach to Emacs - Including TypeScript, Threading, Async I/O, and WebRender.