Hacker News new | past | comments | ask | show | jobs | submit login

What is wrong with staging? I don't even consider staging until it is time to commit, at which point it is a little area to gather the exact changes you need.



Staging is an extra concept that adds complexity. Jujutsu shows you can achieve all the power of a staging area with strictly fewer concepts.


I don't know how others use it, but to me the staging area only lives for X seconds and acts as a last stop to simply select the exact changes and lines I want to actually commit. With a GUI, it becomes crystal clear as to what it is.

From what I can tell about JJ's split command, it seems like it does the same thing except you're working backwards to split out changes into another commit.

Both seems fine, I just don't see the complexity with the staging area (unless you're a beginner who's been told to only use the CLI at all costs).


These things add extra complexity throughout the ecosystem, not just for the end user. Most tools written on top of Git have to be aware of the staging area. Git's own developers, when adding new features to it, need to be aware of the staging area.

Jujutsu's authors have pointed out that a simpler model (here, and with first-class merge conflicts) helps them move much quicker. There are many weird and exceptional states with Git that just don't occur, so new features are more straightforward to add.




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: