They usually don't support the level of granularity I have on the CLI. For example, if I want to fix a commit on a PR based on feedback I've received, I can make the fix and `git rebase -i` will let me amend any of my previous commits (via 'fixup'). None of the IDEs I've tried support it; it's possible instead of an IDE one of the dedicated git tools like Kraken support this?
It's also just mildly terrifying when the IDE gives you a button with no further explanation for what it's actually doing. I.e. what do 'refresh' and 'sync' do in VS Code? The consequences could be dire: https://github.com/microsoft/vscode/issues/32405
> reverting a commit is 2-3 clicks, or a whole lot of typing.
Git revert is a single command; finding the commit to revert is the hard part. `git bisect` makes this easy, and I haven't seen any IDEs nail that one. That said, this is a rare use case.
> Random example: reverting a commit is 2-3 clicks, or a whole lot of typing.
git log
git revert {hash}
I'd hardly call that a whole lot of typing. It's roughly equivalent to 2-3 clicks in a GUI app.
Where the GUI falls down for me is more complicated things, like hard resetting a branch to origin or resolving merge conflicts.
Also, most of the git guis do things that I find distressing. For example, in one git GUI I tried a while back, I accidentally dragged a commit onto a branch listed in the sidebar. Only later did I realize the gui cherry-picked the commit into the branch without asking me for confirmation. It would do similar things if I dragged one branch into another.
Genuinely interested, why?
I'm a huge fan of the CLI in general, but for some things it just slows me down, git usage is one of those.
Random example: reverting a commit is 2-3 clicks, or a whole lot of typing.