Hacker News new | ask | show | jobs
by mcmillion 4133 days ago
SourceTree went downhill after the last major UI overhaul and never really recovered. I used to love it for more involved commits (picking apart lines and hunks, etc), but now it's slow and clunky, even on nice hardware.
3 comments

The main thing I like about SourceTree is that it makes it easy to stage 'hunks', or select lines to stage. I also like that (as with UIs in general) it makes it a bit harder to make mistakes (by, for example, typing the wrong flag on the command line).

But it's become unbearably slow. I really wish they'd fix this.

Do you know about `git add -p`? That allows you to stage hunks or lines interactively in the terminal. Press `s` to split a hunk, `y`/`n` to stage or not stage.
This is a much more trivial task with SourceTree.
Did you try vim-fugitive? Especially with git gutter.
I was aware there was something similar on the command line, but hadn't explored the details. This doesn't sounds as convenient as (a hypothetical responsive) SourceTree, but thanks for the pointers.
Have you tried [Git Cola](https://git-cola.github.io/)? It has support for staging chunks/selections.
Fully agree, they made a lot of nonsense changes, and from what I heard, it was the same on Mac (I'm on Windows).

Unfortunately, I don't really find a good GUI alternative that I like either ...

Same. I love the functionality SourceTree provides, but it frequently ends up eating all of my CPU (2.3 GHz Core i7) even for trivial operations.

I have recently tried Tower and it provides similar functionality without the performance issues.

Git Tower is by far the best GUI I've used for git. It's not cheap ($59), but absolutely worth it, IMO.

It's fast, it's regularly updated and supported, and it's powerful enough to do complex stuff (rebases, merges, cherry-picks, etc).

http://www.git-tower.com/

That's a mac app though, and I'm working on Windows :)
Try Git Extensions https://code.google.com/p/gitextensions/ It's by far the best UI for Git on Windows.
Meh, not fan at all of Git Extensions but I have some colleagues using it and they are happy with it I have to say.
I use TortoiseGit on Windows because working with hundreds of repos via the file browser seems more natural to me. Standalone git clients cause too much friction when working with lots of repos in my opinion. They get cluttered with a huge list of repos that I have to organize separately from how they are already organized on my file-system.

With TortoiseGit, when I find a git repo in the file-system and want to start working with it, I don't have to start another program, I can just activate the file browser's context menu with a single keystroke and then I can instantly see all of the Git commands that I normally use. I hardly even have to look at the list of commands though because the next keystroke is usually to hit the letter of the command that I want: (M)erge, (C)ommit, S(w)itch/Checkout, (L)og, etc... because you can customize the context menu to show the most useful commands.

(Disabling overlay icons in TortoiseGit is also a good idea. I typically just delete their registry entries via SysInternals/Autoruns.)

A decent workaround is to use the 1.5.2 until they manage to fix the current version.