Huh. I look at what it took to build Git to begin with[1] and have to wonder if the thing that comes after it is really going to be _that much_ better. Git came about because there was a need for it. I feel like GitButler came about because there was a need for funding. Maybe I just need to have my coffee before commenting.

[1] https://en.wikipedia.org/wiki/Git#History

I'm trying not to comment on too many of these, but this one is interestingly wrong to me, so why not indeed?

GitButler came about many years ago because I have been using Git for almost the full 20 years of it being around and I thought there could be a better way to do the things it's trying to solve for us. I want version control to do more for us, easier, faster and smarter. Git is still pretty dumb. Plus, now, everything in the dev workflow is changing - it's an interesting problem to think about what a _great_ toolset for how we'll all soon be developing software will be.

As a _single_ example - agents can't use interactive editors, yet _so many_ of the powerful parts of Git absolutely _require_ it. Agents can't interactively rebase, meaning they can't very effectively squash, amend, reword, reorder, absorb. They can't very easily interactively add. They are middling at best when it comes to stacking branches. Git is designed to send patches over email and agents are not concerned with that.

I would love to debate all of the lessons learned about the history of Git, but I was around for all of that. I know why Git was started, I know what it was meant to do, I understand how it's evolved. I still think there are a lot of interesting things that we could have in our change control tooling and Git is not the perfect solution.

Nearly everyone in this thread suffers from the same basic local maxima blindness that you do. Git is great, GitHub made it more valuable. But maybe the answer to the papercuts we've constantly been dealing with for decades isn't faster horses. (To, you know, mix metaphors)

There does seem to be a lot of jaded pessimism this morning (buck up, fellas!)

I watched a bit of the gitbutler video and I liked the ideas, multiple/stacked branches. It felt like a genuine/natural extension of git concepts.

Sortof like Typescript vs JavaScript, I worry that the payoff of adopting something like Gitbutler would require navigating a lot of janky integrations with the rest of my tooling and training of the team.

I myself have always resisted mastering the git command line because JetBrains' git tooling is so nice, and abstracts just the right bits that I haven't had the need. I'm not opposed to switching to command line, but that 3-way git merge tool that JetBrains has is so good and I'd hate to lose it.

Honestly, I predict the world and its networks and developers are going to start cloistering and close themselves off as the AI training panopticon is getting nasty.

It would be great for Gitbutler to abstract true decentralized version control by offering decentralized/self-hosted feature parity with GitHub and remove vendors like them from the picture. I'd pay recurring seat licenses for something turnkey that I could run privately and securely.

I bet I should've had that coffee first :)

You use git at a level beyond mine; I've been fumbling with it for maybe 2/3 of the time you've been actually using it, so I appreciate you even taking the time to respond.

I think what gets me is that according to the article, GitButler is designed "for the GitHub Flow style" of development. git isn't limited to one flow, why should its successor be? Git didn't need $17M funding (and the strings that come attached to that) to change the world. Why should its successor?

But yeah I should've had that coffee first, so thanks for the respectful push-back and I hope the rest of the community appreciates it.

Why is GitButler still using Git if Git is the problem?

> As a _single_ example - agents can't use interactive editors, yet _so many_ of the powerful parts of Git absolutely _require_ it. Agents can't interactively rebase, meaning they can't very effectively squash, amend, reword, reorder, absorb. They can't very easily interactively add. They are middling at best when it comes to stacking branches. Git is designed to send patches over email and agents are not concerned with that.

Why aren't these just patches to Git itself? Or a fork of Git. You're layering tooling on top instead of fixing the foundations? You say stop layering? But you're clearly still using Git because you're calling it GitButler. You're another layer, like jj and like GitHub's UI.

Git is awesome in lots of ways. As a data storage layer and as a transport protocol, it's pretty great. The porcelain was built for a different era and is slow to adapt. Originally, Git was meant to just be these primitives and everyone was supposed to write their own "porcelain" or SCM on top. We're doing that and then some - creating new standards for more metadata, real time communications, built in review, etc. If anything, we're going back to the original point of git and doing what Linus wanted other people to do in the first place - write a good SCM for their workflows on top of the foundation he started.