Intermediate Git
Git is an incredibly powerful distributed source control system. Increase your effectiveness with Git by solidifying basic Git concepts like writing good commit messages and learning about intermediate concepts.
This one-day, language-agnostic workshop will work through common workflows and problem solving on the command line with Git. We'll introduce you to important Git concepts like branching, merging, tagging, merge conflict resolution and successfully working with Git in a team environment. We'll also talk about how thoughtbot uses Git and GitHub on our projects.
Syllabus
Source control basics
- Centralized vs. Decentralized
- What Git is and how it works
Basics Recap: Git's happy path
- Creating a repository
- Cloning an existing repository
- Creating a branch
- Committing code and writing good commit messages
- origin servers
- git push
- git log basics
Intermediate situations and tools, Part I
- Spelunking with git blame and git log
- Tagging
- Branching
Intermediate situations and tools, Part II
- Merging branches
- Squash merging branches
- Rebasing
Intermediate situations and tools, Part III
- Resolving merge conflicts
- Rewriting Git history
A good Git workflow for small teams
- Tying it all together: How thoughtbot uses Git