79 lines
2.1 KiB
Markdown
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
|