A comprehensive Git and GitHub curriculum for teams, covering everything from basics to advanced workflows and best practices.
This playbook is designed as a structured learning path for developers and teams to master Git and GitHub workflows. Each module builds upon the previous one, providing both theoretical knowledge and practical examples.
By the end of this playbook, you will:
- Understand Git fundamentals and version control concepts
- Master branching strategies and collaborative workflows
- Implement effective code review processes
- Establish release management and semantic versioning
- Follow industry best practices for team collaboration
This playbook can be used in several ways depending on your experience level, goals, and available time:
-
Complete Beginner Path (20-30 hours)
- Work through all modules sequentially
- Complete all exercises in each module
- Time commitment: 2-3 hours per module
-
Experienced Developer Path (10-15 hours)
- Start with Module 4: Branching & Merging
- Focus on Modules 5-11 for advanced topics
- Refer to earlier modules as needed for review
- Time commitment: 1-2 hours per module
-
Team Onboarding Path (8-10 hours)
- All team members start with Module 1 and Module 2
- Cover Module 9: Team Best Practices as a group
- Assign specific modules to team members based on roles
- Time commitment: 1 hour per module + team discussions
-
Quick Reference (As needed)
- Bookmark the Quick Reference Guide
- Use the Command Cheat Sheet and Troubleshooting Guide
- Refer to specific sections as issues arise
- Individual Learning: Set aside dedicated time each week (2-3 hours) to work through one module
- Pair Learning: Work through modules with a colleague, discussing concepts and helping each other
- Team Workshops: Host weekly 1-hour sessions to discuss a module as a group
- Practice Projects: Create a sandbox repository to practice concepts from each module
To enhance your learning experience, we recommend using these free interactive resources alongside the playbook:
- Learn Git Branching - Visual and interactive Git branching exercises
- Katacoda Git Scenarios - Hands-on Git tutorials in your browser
- GitHub Learning Lab - Practice Git workflows with guided projects
- Git Exercises - Step-by-step Git challenges
- What is Git and version control?
- Understanding GitHub's role in the ecosystem
- Centralized vs distributed version control systems
- Installation and configuration
- SSH keys and authentication
- Repository creation and connection
- Core Git workflow
- Basic commands and operations
- Understanding repository states
- Branch strategies and workflows
- Merging vs rebasing
- Conflict resolution
- Creating effective pull requests
- Code review best practices
- GitHub collaboration features
- Issues, projects, and project management
- Labels, milestones, and automation
- GitHub Actions introduction
- Power user commands and techniques
- Interactive rebasing and history management
- Git hooks and automation
- Semantic versioning principles
- Release management strategies
- Changelog generation and automation
- Commit conventions and standards
- Branch naming and workflow patterns
- Code quality and collaboration guidelines
- Avoiding common mistakes
- Troubleshooting and recovery
- Performance optimization
- New developer setup
- Contributor guidelines
- Documentation best practices
Workflow Note: The standard workflow is to create feature and fix branches from the
dev
branch, merge them intodev
via pull requests, and then mergedev
intomain
for production releases. This keepsmain
stable and production-ready while allowing collaborative development indev
.
- Start with Module 1 if you're new to Git
- Jump to specific modules based on your current knowledge level
- Follow the practical exercises in each module
- Use the Quick Reference for command lookups
This playbook is designed to be:
- Scalable: Suitable for teams of any size
- Customizable: Adapt to your organization's specific needs
- Practical: Focus on real-world scenarios and workflows
- Comprehensive: Cover both technical and process aspects
-
Gradual Adoption:
- Start with essential modules (1-4)
- Implement one practice at a time
- Regularly review and adjust
-
Full Transformation:
- Complete team training on all modules
- Establish workflow standards based on playbook
- Set up templates and automation
-
Reference Implementation:
- Use as a reference for specific issues
- Adopt best practices selectively
- Incorporate into existing workflows
We welcome contributions to improve this playbook! Please see our Contributing Guidelines for details on how to submit improvements, corrections, or new content.
This playbook is open source and available under the MIT License.
Next Steps: Start with Module 1: Introduction to Git & GitHub