Files
git-workshop/README.md
2026-01-04 16:43:21 +01:00

79 lines
2.1 KiB
Markdown

# 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**: 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
## 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
## Optional: Install Glow for Pretty Markdown
This workshop includes many markdown files with instructions. You can install `glow` to render them beautifully in your terminal:
```powershell
.\install-glow.ps1
```
After installation, read markdown files with:
```powershell
# Windows
.\bin\glow.exe README.md
# macOS/Linux
./bin/glow README.md
```
**Pro tip**: Use `glow -p` for pager mode on longer files!
Without glow, you can still read markdown files with any text editor or `cat README.md`.
## 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