Topic(s) | Resource | Addressed |
---|---|---|
Local basics (init , log , add , commit , diff , status , checkout , branch , merge , merge conflicts) |
Udacity course | Yes |
Configuring and inspecting remotes (remote add , remote rm , remote rename , remote show ) |
Udacity course, "Pro Git" | Yes |
Using remotes (push , pull , fetch , clone ) |
Udacity course | Yes |
Github (forking, pull requests, general collaboration) | Udacity course, past experience | Yes |
Resets (soft, mixed and hard) | "Pro Git" | Yes |
Rebasing | "Pro Git" | Yes |
Interactive rebasing and squashing | "Pro Git" | Yes |
Manipulating git history (amending commit messages; editing, reordering and removing previous commits) | "Pro Git" | Yes |
git stash |
"Pro Git" | Yes |
The meaning of ^ and ~ in relation to a commit |
"Pro Git" | Yes |
Tags/releases | "Pro Git", SemVer | Yes |
Commit hooks | "Pro Git" | Yes |
See my git-practice repo, where I generate some reproducible sample git history that can be safely and transparently experimented on with potentially destructive git actions, such as interactive rebasing and squashing. My reflections from the Udacity course are also located in this repo.