As a relatively recent JJ convert, I am not sure I want to be now investigating a tech that is like half between completely different model and classic git. Does anyone thoughts on that? Or can point to articles comparing JJ and GitButler?
Perhaps... but I haven't yet seen much adoption (nor even talk of adoption) of jj outside fairly small groups of early-adopter devs. Git, largely via github and local gui client tools, gets used by so many more people because of that extra tooling. It's not unusual to see managers, analysts, writers, etc... integrated into a git workflow, and I think that's largely possible/feasible because of the tooling around it. Having a web interface and gui clients goes a long way towards making this work and overcoming resistance.
I suspect jj will get there eventually, but I don't think it's their priority, and it may be some time. Gitbutler to me felt like it might bring some of the same benefits and workflows but still be something a team could adopt, but the sticking point in my mind had been the lack of cli tools for automation and those who want them. So this looks interesting to me from that perspective, not because it's anything I couldn't do w/ jj, but because I could envision my broader team adopting it and all getting some of those same benefits.
The beauty of JJ is I don’t need anyone else to adopt it. I can drop it into every project and start using it with the git backend. It really is seamless to bounce back and forth between JJ and git cli.
Absolutely, I use it that way, and seems like most people do.
However it also means that anyone who isn't going to adopt an all cli experience on a new tool gets left out of the benefits. Also there's not yet much out there to see/interact with any of the more advanced workflows and features as a group.
However it also means that anyone who isn't going to adopt an all cli experience on a new tool gets left out of the benefits.
there are some projects that are interesting... notably there is a magit for jj that could be good. magit is a tool that makes git usable and powerful from inside emacs without having to deal with the cli for all but the most edge cases. here's the early magit for jj: https://github.com/0WD0/majutsu
So a lot of people had this (very good) feedback. I'm going to do a comparison piece on GitButler vs JJ. The short answer right now is: you can absolutely do almost everything I'm talking about with JJ but it's not as easy.
GitButler is almost zero work to get working and is designed out of the box specifically to support GitHub. It's not really platform agnostic which is a downside for a lot of technical users but a perk for people who just work exclusively on GitHub all day.
For me personally I would consider "specifically designed for GitHub" as a hard blocker even as someone who does mostly work on GitHub, partly because I don't want to have to remember a second set of commands for not-GitHub and partly because more GH "lock-in" is the absolute last thing we need.
I still lean in hard to the local workflows, to the point that I choose hosted services based on whether I can approximate them well in a locally running system. I find working in k8s irritating for this reason.
It sounds difficult to live this way, but I use jetify devbox and a command runner (just) to accomplish it. With process-compose and good choices I can have a completely offline experience. I build containers from that local setup and ship it to CI to have the same experience there.
It's not without it's sharp edges, but I'm loving it.
Thanks, gonna give it a go - this gist helped me get it running in wsl.
pretty sold on the multiple branches in a single workspace feature, git workspaces are good and all but they're a hassle [any recommendations?]
Nice post! The cli looks quite ergonomic. After reading this, i watched a few videos on the cli/gui on gitbutler's homepage as well, all very intersting. I just recently started getting into lazygit, after using the git cli and vscode's git VCS stuff, so i think i'll learn lazygit a bit more before considering another gui/cli :)
dpc_pw | 23 hours ago
As a relatively recent JJ convert, I am not sure I want to be now investigating a tech that is like half between completely different model and classic git. Does anyone thoughts on that? Or can point to articles comparing JJ and GitButler?
erock | 23 hours ago
Agreed. JJ appears to handle many if the features discussed in the post.
abeyer | 22 hours ago
Perhaps... but I haven't yet seen much adoption (nor even talk of adoption) of jj outside fairly small groups of early-adopter devs. Git, largely via github and local gui client tools, gets used by so many more people because of that extra tooling. It's not unusual to see managers, analysts, writers, etc... integrated into a git workflow, and I think that's largely possible/feasible because of the tooling around it. Having a web interface and gui clients goes a long way towards making this work and overcoming resistance.
I suspect jj will get there eventually, but I don't think it's their priority, and it may be some time. Gitbutler to me felt like it might bring some of the same benefits and workflows but still be something a team could adopt, but the sticking point in my mind had been the lack of cli tools for automation and those who want them. So this looks interesting to me from that perspective, not because it's anything I couldn't do w/ jj, but because I could envision my broader team adopting it and all getting some of those same benefits.
erock | 22 hours ago
The beauty of JJ is I don’t need anyone else to adopt it. I can drop it into every project and start using it with the git backend. It really is seamless to bounce back and forth between JJ and git cli.
abeyer | 21 hours ago
Absolutely, I use it that way, and seems like most people do.
However it also means that anyone who isn't going to adopt an all cli experience on a new tool gets left out of the benefits. Also there's not yet much out there to see/interact with any of the more advanced workflows and features as a group.
weaksauce | 4 hours ago
there are some projects that are interesting... notably there is a magit for jj that could be good. magit is a tool that makes git usable and powerful from inside emacs without having to deal with the cli for all but the most edge cases. here's the early magit for jj: https://github.com/0WD0/majutsu
[OP] maduggan | 13 hours ago
So a lot of people had this (very good) feedback. I'm going to do a comparison piece on GitButler vs JJ. The short answer right now is: you can absolutely do almost everything I'm talking about with JJ but it's not as easy.
GitButler is almost zero work to get working and is designed out of the box specifically to support GitHub. It's not really platform agnostic which is a downside for a lot of technical users but a perk for people who just work exclusively on GitHub all day.
quasi_qua_quasi | 6 hours ago
For me personally I would consider "specifically designed for GitHub" as a hard blocker even as someone who does mostly work on GitHub, partly because I don't want to have to remember a second set of commands for not-GitHub and partly because more GH "lock-in" is the absolute last thing we need.
mdaniel | 18 hours ago
One will want to be cognizant of its license since it is not a good fit for all circumstances https://github.com/gitbutlerapp/gitbutler/blob/release/0.19.1/LICENSE.md#functional-source-license-version-11-mit-future-license
I believe https://github.com/gitbutlerapp/gitbutler/tree/release/0.10.4 is in the ballpark of an MIT release (9 Feb 2024) but IANAL
aae | a day ago
I still lean in hard to the local workflows, to the point that I choose hosted services based on whether I can approximate them well in a locally running system. I find working in k8s irritating for this reason.
It sounds difficult to live this way, but I use jetify devbox and a command runner (just) to accomplish it. With process-compose and good choices I can have a completely offline experience. I build containers from that local setup and ship it to CI to have the same experience there.
It's not without it's sharp edges, but I'm loving it.
TheOnlyWayUp | a day ago
Thanks, gonna give it a go - this gist helped me get it running in wsl. pretty sold on the multiple branches in a single workspace feature, git workspaces are good and all but they're a hassle [any recommendations?]
kraxen72 | 13 hours ago
Nice post! The cli looks quite ergonomic. After reading this, i watched a few videos on the cli/gui on gitbutler's homepage as well, all very intersting. I just recently started getting into lazygit, after using the git cli and vscode's git VCS stuff, so i think i'll learn lazygit a bit more before considering another gui/cli :)
brian | a day ago
I'll give this a spin. I notice they have a claude plugin, too https://github.com/gitbutlerapp/claude
videlov | 3 hours ago
Just a heads up, that plugin is quite a bit out of date. There is now a Claude skill in the repo https://github.com/gitbutlerapp/gitbutler/tree/master/crates/but/skill which we iterate on and try to improve for agent use (can also install with
but skill install)