# Git Workshop A hands-on, progressive git workshop with practical challenges ranging from basic to advanced concepts. ## Workshop Structure Each module is a self-contained challenge that teaches specific git concepts: - **Module 01**: Git Basics (init, add, commit, status) - **Module 02**: Understanding the Staging Area - **Module 03**: Viewing History (log, diff) - **Module 04**: Branching Basics - **Module 05**: Merging - **Module 06**: Merge Conflicts - **Module 07**: Rebasing - **Module 08**: Interactive Rebase - **Module 09**: Cherry-pick - **Module 10**: Reset vs Revert - **Module 11**: Stash - **Module 12**: Working with Remotes ## How to Use This Workshop 1. Navigate to a module directory (e.g., `module-01-basics`) 2. Read the `README.md` to understand the challenge 3. Run `./setup.ps1` to create the challenge environment 4. Complete the challenge using git commands 5. Run `./verify.ps1` to check if you've solved it correctly 6. Move to the next module ## Requirements - Git installed and configured - PowerShell (Windows PowerShell 5.1+ or PowerShell Core 7+) - Basic command line knowledge ## Getting Started Start with Module 01: ```powershell cd module-01-basics .\setup.ps1 ``` Follow the instructions in each module's README.md file. ## For Workshop Facilitators Before distributing this workshop to attendees: 1. **Delete the root `.git` directory**: This prevents confusion and ensures attendees practice git from scratch ```powershell Remove-Item -Path .git -Recurse -Force ``` 2. Each module's `challenge/` directory will become its own independent git repository when attendees run `setup.ps1` 3. This isolation ensures each module provides a clean learning environment