So, you've started to use Git — and it seems horribly confusing. Commands that you used in SVN (or other version-control systems) have the same name, but do totally different things. You can't understand why you get conflicts, what's happening when you "push" and "pull," and why you have to add files before you commit them. And why are there so many different ways to merge?
If the above describes your state of mind, then you're not alone: Git is powerful, and is one of the best tools I've ever added to my programming arsenal. But it has a steep learning curve, and is hard for many people to use.
I've taught Git to developers around the world, and over that time I've learned that one of the main obstacles to using Git effectively is understanding what it does, and how it works. In this course, I thus not only teach you Git, but how to think in the way that Git wants you to think. In this way, you'll not only be able to use Git, but to use it effectively -- and to become a more effective, fluent developer, and a more valuable member of your team.
As a Linux and OpenStack SysAdmin, I maintain configuration files, scripts, etc in Git.... but I never really understood Git, I just used the same 3-4 commands that someone put in a wiki page.
But what if our Git repos were screwed in some way, how would we recover from that? Developers would come to me to fix the issues and I would probably take some 'shotgun' approach to restore them.
This is why I took Reuven's Understanding Git course. Reuven clearly explains how Git works and has provided me the background info I was looking for to confidently maintain Git repos and to make better use of the Git generally. — Maurice Burrows