feat: update readme

This commit is contained in:
Bjarke Sporring
2026-01-05 12:22:01 +01:00
parent f11f5a4646
commit a8eb66d3c9

View File

@@ -1,22 +1,31 @@
# Git Workshop
A hands-on, progressive git workshop with practical challenges ranging from basic to advanced concepts.
A comprehensive, hands-on Git workshop with 13 progressive modules covering everything from basic commits to advanced debugging techniques. Each module presents a real-world scenario that you must solve using Git commands, with automated verification to confirm your solution.
Perfect for developers who want to move beyond basic Git usage and master professional workflows including rebasing, conflict resolution, bisecting, worktrees, and more.
## Workshop Structure
Each module is a self-contained challenge that teaches specific git concepts:
- **Module 01**: Git Basics (init, add, commit, status)
- **Module 02**: Viewing History (log, diff)
- **Module 03**: Branching Basics
- **Module 04**: Merging
- **Module 05**: Merge Conflicts
- **Module 06**: Rebasing
- **Module 07**: Interactive Rebase
- **Module 08**: Cherry-pick
- **Module 09**: Reset vs Revert
- **Module 10**: Stash
- **Module 11**: Working with Remotes
### Beginner Level
- **Module 01**: Git Basics - Initialize repositories, stage changes, make commits
- **Module 02**: Viewing History - Use git log and git diff to explore project history
- **Module 03**: Branching Basics - Create, switch, and manage branches
### Intermediate Level
- **Module 04**: Merging - Combine branches with fast-forward and three-way merges
- **Module 05**: Merge Conflicts - Identify, understand, and resolve merge conflicts
- **Module 06**: Rebasing - Rebase branches to create linear history
- **Module 07**: Interactive Rebase - Clean up commit history with reset and recommit
- **Module 08**: Cherry-Pick - Apply specific commits from one branch to another
### Advanced Level
- **Module 09**: Reset vs Revert - Understand when to rewrite history vs create new commits
- **Module 10**: Stash - Temporarily save work without committing
- **Module 11**: Working with Remotes - Clone, push, pull, and fetch from remote repositories
- **Module 12**: Worktrees - Work on multiple branches simultaneously
- **Module 13**: Bisect - Use binary search to find bugs in commit history
## How to Use This Workshop
@@ -66,6 +75,53 @@ cd module-01-basics
Follow the instructions in each module's README.md file.
## What Makes This Workshop Different
- **Hands-On Practice**: Each module creates a real Git scenario you must solve
- **Automated Verification**: Scripts check your solution instantly
- **Progressive Difficulty**: Builds from basics to advanced Git techniques
- **Reset Anytime**: Each module includes a reset script for a fresh start
- **Self-Paced**: Learn at your own speed with detailed README guides
- **No Internet Required**: All modules work offline with local repositories
## Learning Path
The modules are designed to build on each other:
1. **Start Here** (Modules 1-3): Core Git fundamentals everyone needs
2. **Collaboration** (Modules 4-5): Working with branches and resolving conflicts
3. **History Management** (Modules 6-8): Rewriting and organizing commits
4. **Advanced Workflows** (Modules 9-11): Professional Git techniques
5. **Power User** (Modules 12-13): Advanced tools for productivity and debugging
## Tips for Success
- Don't skip modules - each builds on previous concepts
- Read the README.md thoroughly before starting each challenge
- Experiment freely - you can always run `./reset.ps1` to start over
- Use `git log --oneline --graph --all` frequently to visualize repository state
- If stuck, check the Key Concepts section in the module's README
- Consider installing glow for better markdown reading experience
## Skills You'll Master
By completing this workshop, you'll be able to:
- ✅ Create and manage Git repositories with confidence
- ✅ Navigate project history and understand what changed when
- ✅ Use branches effectively for parallel development
- ✅ Merge branches and resolve conflicts like a pro
- ✅ Rebase to maintain clean, linear history
- ✅ Clean up messy commits before submitting pull requests
- ✅ Cherry-pick specific commits across branches
- ✅ Choose correctly between reset and revert
- ✅ Use stash to manage work-in-progress without commits
- ✅ Collaborate effectively with remote repositories
- ✅ Work on multiple branches simultaneously with worktrees
- ✅ Debug efficiently by finding bug-introducing commits with bisect
These are professional-level Git skills used daily by developers at top tech companies.
## For Workshop Facilitators
Before distributing this workshop to attendees: