Live data from Hacker News

The lazy Git UI you didn't know you need

bwplotka.dev

141–150 of 224 posts

Re: The lazy Git UI you didn't know you need

#141
post #5

I was a big fan of a good keyboard-driven git TUI like magit, neogit, lazygit, etc... (as long as you learn the CLI first and understand it). Now I no longer directly use git, but instead use jujutsu (jj). Once I became very proficient in the jj cli, I picked up jjui: https://github.com/idursun/jjui Also, as splitting commits is an extremely frequent operation, this neovim plugin is really nice: https://github.com/ju…

also just to add that I've noticed that `jj` comes way easier and more intuitive to newbies I've mentored. Just yesterday I told a friend to commit his changes and he just wanted to do `git commit` (without remembering to do `git add` first). This made me realize we should just install `jujutsu` for him and he's been committing very diligently afterwards. Can recommend trying this with any people you mentor/teach.

That's also my opinion, that jj should be easier for juniors to pick up. However, I felt like there's a lack of learning material targeted at people without prior VCS experience. That's why I wrote "Jujutsu for everyone": https://jj-for-everyone.github.io/.

Re: The lazy Git UI you didn't know you need

#142

I still prefer tig[1]. It has probably less features, but also a less cluttered UI and slightly faster interface. But the main use I get from it is for incremental index adding, so maybe not as much as OP. [1] https://jonas.github.io/tig/

Me too, it’s been my tool of choice for staging hunks for more than 15 years now.

For that, I use git-cola... for some reason. Even though I live in the terminal.

Re: The lazy Git UI you didn't know you need

#143
post #85
post #65

Am I the only one who simply doesn't mind Git's CLI? Sure, it's rough around the edges, but I know those edges well. I sometimes do need to look up how to do something, but those cases are rare. Over the years I've accumulated about a dozen shell aliases and a modest `.gitconfig`, and along with a couple of helper tools[1][2], I can do 90% of what I need Git for in seconds. I truly don't need a fancy TUI, GUI, or any…

There is a new VCS that is a step forward (while being compatible with git). It’s called jujutsu.

Yeah, I disagree.

I've read the Jujutsu documentation and a lot of praises for it, and its most compelling feature is a simpler UI compared to Git. There have been other VCS tools with arguably better UIs and feature sets than Git (Mercurial, Fossil), and yet they haven't gained traction, for better or worse. The only reason jj is having more momentum is because of its compatibility with Git, which was a smart decision by its developers.

A better UI is not something I would consider a next step for a VCS tool. I can do that myself with my shell and small helper tools. Whereas features like semantic and binary diffing would be compelling generational improvements over Git. I know these can technically be tacked on to Git itself, but a VCS built for them would be able to do things Git simply can't. These are just two I can think of, but a next generation tool would be evident without requiring much explanation. Just like DVCSs were over the previous generation of tools.

Re: The lazy Git UI you didn't know you need

#144
post #65

Am I the only one who simply doesn't mind Git's CLI? Sure, it's rough around the edges, but I know those edges well. I sometimes do need to look up how to do something, but those cases are rare. Over the years I've accumulated about a dozen shell aliases and a modest `.gitconfig`, and along with a couple of helper tools[1][2], I can do 90% of what I need Git for in seconds. I truly don't need a fancy TUI, GUI, or any…

I do not mind the Git CLI, and I just carry around my alises. I also built a tool to make it even more powerful and integrate with issue trackers: https://pypi.org/project/gibr/

Re: The lazy Git UI you didn't know you need

#145
post #5

I was a big fan of a good keyboard-driven git TUI like magit, neogit, lazygit, etc... (as long as you learn the CLI first and understand it). Now I no longer directly use git, but instead use jujutsu (jj). Once I became very proficient in the jj cli, I picked up jjui: https://github.com/idursun/jjui Also, as splitting commits is an extremely frequent operation, this neovim plugin is really nice: https://github.com/ju…

ooh that's interesting, wonder if that works better than git eorktrees when playing with multiple AI agents

Re: The lazy Git UI you didn't know you need

#147

Earlier quoted context omitted.

You want "jj commit -i". You'll get an interface that lets you choose files, chunks, or lines to commit.

With git I can stage lines right in my IDE, no messing around in shitty TUIs.

https://jj-vcs.github.io/jj/latest/config/

ctrl+f "tool"

Re: The lazy Git UI you didn't know you need

#148
post #36
post #28

Earlier quoted context omitted.

I find both Fork and Tower to be much better than SourceTree, have you only tried free tools?

I can't live without Fork. It's the one thing I miss on Linux. I have it in Wine, but it's running terribly there unfortunately.

SourceGit comes pretty close to it for me (same situation)

Re: The lazy Git UI you didn't know you need

#149
post #25
post #7

You might laugh, but in years of serious development, I have not come across a better git UI tool than SourceTree. If I want to be hard-core, I'd use the original git CLI. SourceTree is unmatched in how it makes using git so much more pleasant for when you need to do something relatively simple, but which would be quite cumbersome to do with the CLI and most other tools I've tried. Its file status and history view is…

Have you tried the Jetbrains IDE git client yet? It hits the perfect spot for me.

Tried it more than once, still SourceTree is easier to use.

Re: The lazy Git UI you didn't know you need

#150

Earlier quoted context omitted.

Sold! I'm trying jj. I've seen enough mentions now. I've never read anything about it. I hope it's compatible with git.

The compatibility with git is the whole reason it's so popular (just run `jj git init --colocate` in your git repo). You can use it without forcing your collaborators to switch from git and you can use it will a git forges as well.

I don't think you need `--colocate` any more, and maybe you don't even need `git`? I tried `jj init` in a git repo the other day and it did create a colocated jj repo, as far as I could see.
Post reply on HN