Does TortoiseGit allow selective staging, like git-gui? Does TortoiseGit allow selective staging, like git-gui? git git

Does TortoiseGit allow selective staging, like git-gui?


Yes it does now: see issue 222 - it takes the same approach as TortoiseSVN where you:

  • right-click on file, choose "Restore after commit"
  • TSVN creates a copy of the file outside the working copy, the file is shown differently in > the commit dialog (maybe an overlay icon or a different color)
  • user can double-click the file to open it in TMerge or some other diff tool and undo all the changes that should not be committed, then save those changes
  • commit
  • after the commit is finished, the copy of the original file is moved back

(From TSVN Issue 68)


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.


From the look of issue 222, the "add -p" feature isn't implemented yet.

Could you add support for partially committing a file? (git add -p).
I understand the way TortoiseGit works is a bit different from the normal "git index", but still I would like to have support for this in some way.

I'd love to commit only a few changes of a file.
For example, only commit a single line fix of the file, and leave the rest remaining in the working copy.