magit VS jj

Compare magit vs jj and see what are their differences.

magit

It's Magit! A Git Porcelain inside Emacs. (by magit)

jj

A Git-compatible VCS that is both simple and powerful (by martinvonz)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
magit jj
119 88
6,372 6,673
0.4% -
9.3 10.0
3 days ago 2 days ago
Emacs Lisp Rust
GNU General Public License v3.0 only 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.

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. :)

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 magit and jj you can also consider the following projects:

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

git-branchless - High-velocity, monorepo-scale workflow for Git

lazygit - simple terminal UI for git commands

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.

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

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

code-review - Code Reviews in Emacs

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

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

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

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

git-imerge - Incremental merge for git