Git wasn't that Complicated
When I was about to quit my previous job for the job I have now, I mentioned a few things that I anticipated I would have to learn at the new job. One of the most obvious things was Git.
At my previous job we used TFVC and even though I had used Git for personal stuff, like this blog (see source), I hadn’t learned branching or how to use the Git CLI. If you’ve only used Git, TFVC is managed from within Visual Studio with Microsoft’s traditional GUI-first approach.
Judging from the number of articles I had seen about Git, like heated discussions about whether or not you should use rebasing, Gitflow, configuring command line aliases etc, I got the impression that there was quite a bit I had to learn to get productive. Just skim this article named Useful git commands for everyday use!
My conclusion so far is that I haven’t been forced to learn that much at all about Git. Sure there are advanced possibilities if you need them, but we don’t. We use feature branching with pull requests within the team and between teams when we have to make changes to code that another team owns.
A combination of CLI and GUI works best for me, but I haven’t yet needed anything more than what VS Code provides me with in terms of GUI. What I do find useful is a “Git aware” command line. Since I work in several different repositories on a daily basis and we use feature branching, I like the ability to see which branch I’m on and if I’m up to date.
To get this decent console experience on Windows I’ve used oh-my-posh.