Search code examples
gittortoisegitgit-gui

Does TortoiseGit allow selective staging, like git-gui?


This question:

Can you interact with the index/staging area with TortoiseGit?

takes the position that TortoiseGit's main function is not to eliminate the need for the git command line, and in general, I agree.

However, git-gui has a feature I use a lot (maybe to compensate for bad workflow): the ability to selectively stage or unstage hunks or lines from the current patch in order to split a bunch of interspersed changes into coherent changesets in multiple commits.

The command-line alternative (for me, at any rate) is a bit clunky, so, ideally, I'd like to do the same selective committing in TortoiseGit.

So far I haven't found a way to do this, and I suspect, from the answer to the other question, that it isn't possible. Can anyone confirm this, please?


Solution

  • The only client on windows that has full support for selective staging in the GUI I've seen so far is SmartGit.

    Thus said it has weak sides too, comparing to TortoiseGit or GitExtensions.

    For me, main showstoppers in SmartGit are:

    1. Inability to compare two revisions. You could only see diff between one and its parent (TortoiseGit can that).
    2. Inability (well, it is somewhat strange, it is possible I didn't found the way) to limit log to some folder if I don't interested in everything (TortoiseGit can).
    3. Integration with VisualStudio (somewhat subjective, but GitEx have it and it is very handy)

    I remember that there was something else, but evaluating last version of SmartGit now I can't find it. Either it was fixed/added or I just forgot what thing I can't do that time.

    In any case I'm using both GitEx and TortoiseGit for some things and for everything else console is the best tool.