Git is too hard
The underlying technology of git is great, but the UX is terrible. The commands are all named wrong. &quot;To create a branch, use git branch, but that doesn&#x27;t check it out. If you want to create it and check it out at the same time use &quot;git checkout -b&quot;, not &quot;git branch --checkout&quot; which would be 1000x more logical (and then there could be an option to make that the default behaviour)<p>Resisting GUI&#x27;s is not a good idea. The trick to learning is to always have `gitk --all` or a similar viewer open in another window.<p>Also instead of `git add` &#x2F; `git commmit`, use `git gui`, but for most other things stick to the CLI.<p>Having said that use a GUI, github desktop is terrible. It tries to make things easier and as a result takes you away from git&#x27;s standard terminology, so it&#x27;s impossible to understand what it does.<p>Something I found teaching other people is it helps a lot if you haven&#x27;t learnt SVN before.