people look at me like I'm an old crazy dude because I don't use a git UI or eclipse, or intellij, or from sublime. Git already has plenty of quirks, adding another layer of unknown on top of it is a no-go
I've started using VSCode for git push/pull/branch and staging. This is what I use git for 99% of the time anyways and since they are simple commands, triggering them from VSCode is faster than falling back to CLI.
Staging/diffing is especially convenient with VSCode. `git add -p` used to be my most-used command, but VSCode just makes the process easier.
Which is weird because with all of its inconsistencies, git must have been designed with the idea that someone would build a sensible shell over top of it. I can't imagine Linus expected people to interact directly with git when he built it.
> git has its problems, but it's a consistent, centralized (in the sense of origin/repo), well known set of problems.
Consistent? Ha! Change branch: git checkout my-branch. Reset file to committed version: git checkout -- my-file. Git is many things, but consistent it is not.
That said, I still use CLI precisely because I don't trust other software to make sensible abstractions on top of it, given that foundation is so inconsistent. Besides, those CI scripts only know git cli...
> Consistent? Ha! Change branch: git checkout my-branch. Reset file to committed version: git checkout -- my-file. Git is many things, but consistent it is not.
> well known set of problems
that's precisely the well know set of problems. You learn them once, apply on every console. If each UI decides to overcome them differently, you end up with N+1 different behaviors.
I'd rather have only one set if inconsistent commands, than 3.
people look at me like I'm an old crazy dude because I don't use a git UI or eclipse, or intellij, or from sublime. Git already has plenty of quirks, adding another layer of unknown on top of it is a no-go