I am the CTO of Tower, a Git client for Mac and Windows.
40 karma · joined November 22, 2011
I am the CTO of Tower, a Git client for Mac and Windows.
Tower for Mac supports Undo (and also Redo) for very much all Git operations starting with version 3 two years ago. This includes undoing all working tree actions like staging/unstaging/discarding individual chunks or complete files. Just hit CMD-Z.
This feature is coming to our Windows version soon as well.
If you're interested in technical details, you can read it here: https://www.git-tower.com/blog/how-we-built-undo/
This leaves you with the option to disable the core.trustctime setting, which I believe has no noticeable performance drawback for most or maybe all Git users.
If you are sensitive about the performance, perhaps a third option would be to make an alias for affected commands, especially for rebase:
_rebase = "-c core.trustctime=false rebase"