Get Started with Git
You can get by most of your life without Git, until suddenly you have to write code with three other people, or worse, have to one day start maintaining Amy's computer vision codebase after she leaves the company to become a CTO. Then you have half a day to become an expert in this quirky little version control tool. Not to worry. These teachers have you covered.
I asked my friends and colleagues on LinkedIn and Twitter if the knew of any Git tutorials they would recommend. I was overwhelmed by the response. There are a lot to choose from. However, a few rose to the top as being both very popular and exceptionally well suited for someone just starting out. But for every resource listed here, there are five others in the threads, most of them very good.
Several of the resources here reference GitHub, a popular online server and host for git-managed projects. Another very similar serivce is GitLab. Most of the tutorial references on GitHub can be applied to GitLab with only minor modifications. If you decide you want to migrate a project from GitHub to GitLab, here is a step-by-step guide.
Corey Schafer's YouTube tutorials
This is an excellent all around introduction to Git at the command line. It stays practical, with brief forays into the underlying mechanisms where necessary. The video format provides extra momentum.
Pro Git, written by Scott Chacon and Ben Straub
Of you prefer a book format, Pro Git is an excellent way to go. Hosted on the Git website, it enjoys the blessing of an an official resource. It is comprehensive and well put together.
Happy Git and GitHub for the useR by Jenny Bryan, the STAT 545 TAs, Jim Hester
If you happen to be an R user, you will never find a better resource than this. Practical, cheeky, brilliantly organized, it is a tour de force of instructional writing. Note that this guide covers both Git and GitHub, two distinct, but tightly interrelated tools.
Even if you're not an R user, I highly recommend a look through the accompanying manifesto: Excuse me, do you have a moment to talk about version control?
There is a deep bench of Git resources you can use to enrich your training.
Learn Git Branching
Gives video game-style (graphical and interactive)
lessons on how to use git commands.
Presents the git boiled down to its essence.
It has a beauty in simplicity. A tutorial haiku.
Gives a shockingly accessible treatise on how it all works,
explained using elves and orcs.
Oh shit, git!
Helps you figure out what to do when things go horribly wrong,
which they will, at some point.
It also comes in
a without-swears version .
There's a rich variety here, and all of it is top quality. You'll be ready to start branching and merging by the end of the day.