Git Is Not Fine
steveklabnik
27 points
10 comments
May 15, 2026
Related Discussions
Found 5 related stories in 94.3ms across 8,303 title embeddings via pgvector HNSW
- GitHub is sinking herbertl · 220 pts · May 10, 2026 · 56% similar
- Show HN: Git for AI Agents doshay · 97 pts · May 08, 2026 · 56% similar
- Ziggit: A Reimplementation of Git in Zig jedisct1 · 13 pts · April 02, 2026 · 56% similar
- GitHub Merge Queue Silently Reverted Code matthewbauer · 34 pts · April 23, 2026 · 55% similar
- Highlights from Git 2.54 ingve · 11 pts · April 20, 2026 · 55% similar
Discussion Highlights (4 comments)
vintagedave
I admit the diagrams and struggles the author describes are far past my own usage of git. And like they identify at the end of the article, for truly complex git operations today I use AI. I haven’t rebased manually for a while. Forget rewriting commit messages! > Companies like Meta have enjoyed in-house systems that run circles around it for almost a decade. Based on Mercurial… the VCS I enjoyed using.
karmakaze
This has pretty pictures but its verbosity and frankly made-up complexity is making me not take it as seriously as I perhaps should. The way I'd handle rebasing stacked PRs/branches is to rebase the very last one. Then simply `git branch -f a-branch <logical same point on rebased>` for each of the others, done. I worked on a project that had weekly releases. We had git submodules, and submodules of that, and on rare occasions a 4th repo. I would manually keep those all up to date with rebases pinning each submodule to the logical new points. It all became muscle memory. The lesson I learned is don't use submodules unless you really need to. (All the repos were our own.) JJ may be great but a stawman isn't going to sell it to me. Now I can tell an AI to rebase a stack and as long as there weren't any conflicts easily check the results. Everyone has things that bug them, git isn't one of mine (today :-). Instead I have a custom keyboard layout that no one else uses that makes me feel better, but I don't go around telling everyone they should switch--unless you're curious[0]. [0] https://github.com/qwickly-org/Qwickly
alphabeta3r56
> There is No C Well yes because git was supposed to be completely distributed. You can design a system which has this feature but then it wouldn't be as distributed as git, making unrelated forks second class citizens. It might still be a good idea for tool to have it but it is not strictly a better/worse scenario. > Mutability I think i can mostly agree to this. I do wonder if people never work in a scenario where they are only committing partial state and not complete state. Nevertheless being able to track and not losing uncommitted state is a strict improvement. > workflows Aren't worktrees enough here?
demorro
I continue not to understand much of the point of this. I don't recognize the git workflow the author is talking about, and neither do I see the point of stacked PRs. Commits are fine as a unit of isolating work, and rebasing to keep that neat is not difficult. How many PR's do y'all tend to have in flight at once? I sometimes think being a native (C++) developer makes me have a different take on some of this. Maybe if I was a JS dev making quick changes with 5 PR's a day I'd care more about this.