feat: initial branching+merge+conflicts module merge
This commit is contained in:
86
README.md
86
README.md
@@ -8,19 +8,17 @@ Perfect for developers who want to move beyond basic Git usage and master profes
|
||||
|
||||
The workshop is organized into two tracks:
|
||||
|
||||
### 01 Essentials - Core Git Skills (9 modules)
|
||||
### 01 Essentials - Core Git Skills (7 modules)
|
||||
|
||||
Master fundamental Git concepts and collaborative workflows:
|
||||
|
||||
- **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
|
||||
- **Module 04: Merging** - Combine branches and understand merge workflows
|
||||
- **Module 05: Merge Conflicts** - Identify, understand, and resolve merge conflicts step-by-step
|
||||
- **Module 06: Cherry-Pick** - Apply specific commits from one branch to another
|
||||
- **Module 07: Reset vs Revert** - Understand when to rewrite history vs create new commits
|
||||
- **Module 08: Stash** - Temporarily save work without committing
|
||||
- **Module 09: Multiplayer Git** - **The Great Print Project** - Real cloud-based collaboration with teammates
|
||||
- **Module 03: Branching and Merging** - Create branches, merge them, and resolve conflicts (checkpoint-based)
|
||||
- **Module 04: Cherry-Pick** - Apply specific commits from one branch to another
|
||||
- **Module 05: Reset vs Revert** - Understand when to rewrite history vs create new commits
|
||||
- **Module 06: Stash** - Temporarily save work without committing
|
||||
- **Module 07: Multiplayer Git** - **The Great Print Project** - Real cloud-based collaboration with teammates
|
||||
|
||||
### 02 Advanced - Professional Techniques (6 modules)
|
||||
|
||||
@@ -46,7 +44,7 @@ Advanced Git workflows for power users:
|
||||
|
||||
**Quick Reference**: See [GIT-CHEATSHEET.md](GIT-CHEATSHEET.md) for a comprehensive list of all Git commands covered in this workshop. Don't worry about memorizing everything - use this as a reference when you need to look up command syntax!
|
||||
|
||||
### For Module 09: Multiplayer Git
|
||||
### For Module 07: Multiplayer Git
|
||||
|
||||
**This module is different!** It uses a real Git server for authentic collaboration:
|
||||
|
||||
@@ -138,9 +136,9 @@ You should see your name and email printed. This is required to make commits in
|
||||
$PSVersionTable.PSVersion
|
||||
```
|
||||
|
||||
### Python (for Module 09 only)
|
||||
### Python (for Module 07 only)
|
||||
|
||||
Module 09 (Multiplayer Git) uses Python:
|
||||
Module 07 (Multiplayer Git) uses Python:
|
||||
- **Python 3.6+** required to run the Great Print Project
|
||||
- Check: `python --version` or `python3 --version`
|
||||
|
||||
@@ -211,7 +209,7 @@ Follow the instructions in each module's README.md file.
|
||||
- **Progressive Difficulty**: Builds from basics to advanced Git techniques
|
||||
- **Reset Anytime**: Each local module includes a reset script for a fresh start
|
||||
- **Self-Paced**: Learn at your own speed with detailed README guides
|
||||
- **Real Collaboration**: Module 09 uses an actual Git server for authentic teamwork
|
||||
- **Real Collaboration**: Module 07 uses an actual Git server for authentic teamwork
|
||||
- **Comprehensive Coverage**: From `git init` to advanced rebasing and bisecting
|
||||
|
||||
## Learning Path
|
||||
@@ -220,19 +218,19 @@ The modules are designed to build on each other:
|
||||
|
||||
### Recommended Progression
|
||||
|
||||
**Phase 1: Core Fundamentals (Essentials 01-03)**
|
||||
- Git Basics, History, Branching
|
||||
- **Goal**: Understand commits and branches
|
||||
**Phase 1: Core Fundamentals (Essentials 01-02)**
|
||||
- Git Basics, History
|
||||
- **Goal**: Understand commits and history
|
||||
|
||||
**Phase 2: Collaboration Basics (Essentials 04-05)**
|
||||
- Merging, Merge Conflicts
|
||||
- **Goal**: Work with multiple branches
|
||||
**Phase 2: Collaboration Basics (Essentials 03)**
|
||||
- Branching and Merging (checkpoint-based: branching, merging, conflicts)
|
||||
- **Goal**: Work with multiple branches and resolve conflicts
|
||||
|
||||
**Phase 3: Workflow Tools (Essentials 06-08)**
|
||||
**Phase 3: Workflow Tools (Essentials 04-06)**
|
||||
- Cherry-Pick, Reset vs Revert, Stash
|
||||
- **Goal**: Manage your work effectively
|
||||
|
||||
**Phase 4: Real Collaboration (Essentials 09)**
|
||||
**Phase 4: Real Collaboration (Essentials 07)**
|
||||
- **Multiplayer Git - The Great Print Project**
|
||||
- **Goal**: Apply all skills with real teammates on a cloud server
|
||||
- **Note**: This is a capstone module - bring everything together!
|
||||
@@ -245,14 +243,14 @@ The modules are designed to build on each other:
|
||||
### Alternative Paths
|
||||
|
||||
**Fast Track (1 day workshop):**
|
||||
- Essentials 01-05 + Essentials 09 (Multiplayer)
|
||||
- Essentials 01-03 + Essentials 07 (Multiplayer)
|
||||
|
||||
**Solo Learner:**
|
||||
- Complete Essentials 01-08, skip 09 (requires partners and server)
|
||||
- Complete Essentials 01-06, skip 07 (requires partners and server)
|
||||
- Or complete all Advanced modules for deep mastery
|
||||
|
||||
**Team Workshop:**
|
||||
- Essentials 01-05 then jump to 09 (Multiplayer) for collaborative practice
|
||||
- Essentials 01-03 then jump to 07 (Multiplayer) for collaborative practice
|
||||
|
||||
## Tips for Success
|
||||
|
||||
@@ -263,7 +261,7 @@ The modules are designed to build on each other:
|
||||
- **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
|
||||
- **For Module 09**, work with a partner - collaboration is the point!
|
||||
- **For Module 07**, work with a partner - collaboration is the point!
|
||||
|
||||
## Skills You'll Master
|
||||
|
||||
@@ -307,7 +305,7 @@ Before distributing this workshop to attendees for self-study:
|
||||
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
|
||||
|
||||
**Note**: Module 09 (Multiplayer) requires you to set up a Git server - see facilitator guide below.
|
||||
**Note**: Module 07 (Multiplayer) requires you to set up a Git server - see facilitator guide below.
|
||||
|
||||
### Facilitated Workshop
|
||||
|
||||
@@ -315,13 +313,13 @@ For running this as a full-day instructor-led workshop:
|
||||
|
||||
1. **See [WORKSHOP-AGENDA.md](WORKSHOP-AGENDA.md)** - Complete agenda with timing, activities, and facilitation tips
|
||||
2. **See [PRESENTATION-OUTLINE.md](PRESENTATION-OUTLINE.md)** - Slide deck outline for presentations
|
||||
3. **Workshop covers:** Essentials 01-05 + Module 09 (Multiplayer collaboration exercise)
|
||||
3. **Workshop covers:** Essentials 01-05 + Module 07 (Multiplayer collaboration exercise)
|
||||
4. **Duration:** 6-7 hours including breaks
|
||||
5. **Format:** Mix of presentation, live demos, and hands-on challenges
|
||||
|
||||
**Facilitator preparation:**
|
||||
- Review the workshop agenda thoroughly
|
||||
- Set up Git server for Module 09 (see below)
|
||||
- Set up Git server for Module 07 (see below)
|
||||
- Ensure all participants have prerequisites installed (Git, PowerShell, Python)
|
||||
- Prepare slides using the presentation outline
|
||||
- Test all modules on a clean machine
|
||||
@@ -329,9 +327,9 @@ For running this as a full-day instructor-led workshop:
|
||||
|
||||
The workshop format combines instructor-led sessions with self-paced hands-on modules for an engaging learning experience.
|
||||
|
||||
### Setting Up Module 09: Multiplayer Git
|
||||
### Setting Up Module 07: Multiplayer Git
|
||||
|
||||
Module 09 requires a Git server for authentic collaboration. You have two options:
|
||||
Module 07 requires a Git server for authentic collaboration. You have two options:
|
||||
|
||||
**Option 1: Self-Hosted Gitea Server (Recommended)**
|
||||
|
||||
@@ -376,18 +374,16 @@ git-workshop/
|
||||
├── GITEA-SETUP.md # Self-hosted Git server setup
|
||||
├── install-glow.ps1 # Install glow markdown renderer
|
||||
│
|
||||
├── 01_essentials/ # Core Git skills (9 modules)
|
||||
├── 01_essentials/ # Core Git skills (7 modules)
|
||||
│ ├── 01-basics/ # Initialize, commit, status
|
||||
│ ├── 02-history/ # Log, diff, show
|
||||
│ ├── 03-branching/ # Create and switch branches
|
||||
│ ├── 04-merging/ # Merge branches
|
||||
│ ├── 05-merge-conflicts/ # Resolve conflicts step-by-step
|
||||
│ ├── 06-cherry-pick/ # Apply specific commits
|
||||
│ ├── 07-reset-vs-revert/ # Undo changes safely
|
||||
│ ├── 08-stash/ # Save work-in-progress
|
||||
│ └── 09-multiplayer/ # Real collaboration (cloud-based)
|
||||
│ ├── README.md # Student guide (1,408 lines)
|
||||
│ └── FACILITATOR-SETUP.md # Server setup guide (904 lines)
|
||||
│ ├── 03-branching-and-merging/ # Branches, merging, conflicts (checkpoint-based)
|
||||
│ ├── 04-cherry-pick/ # Apply specific commits
|
||||
│ ├── 05-reset-vs-revert/ # Undo changes safely
|
||||
│ ├── 06-stash/ # Save work-in-progress
|
||||
│ └── 07-multiplayer/ # Real collaboration (cloud-based)
|
||||
│ ├── README.md # Student guide
|
||||
│ └── FACILITATOR-SETUP.md # Server setup guide
|
||||
│
|
||||
└── 02_advanced/ # Professional techniques (6 modules)
|
||||
├── 01-rebasing/ # Linear history with rebase
|
||||
@@ -400,9 +396,9 @@ git-workshop/
|
||||
|
||||
## What's Unique About This Workshop
|
||||
|
||||
### The Great Print Project (Module 09)
|
||||
### The Great Print Project (Module 07)
|
||||
|
||||
Unlike any other Git tutorial, Module 09 provides **real collaborative experience**:
|
||||
Unlike any other Git tutorial, Module 07 provides **real collaborative experience**:
|
||||
|
||||
- **Real Git server**: Not simulated - actual cloud repository at https://git.frod.dk/multiplayer
|
||||
- **Real teammates**: Work in pairs on shared branches
|
||||
@@ -429,7 +425,7 @@ This is how professional developers actually work - no simulation, no shortcuts.
|
||||
**Q: Do I need to complete all modules?**
|
||||
A: No! Essentials 01-05 covers what most developers use daily. Complete 06-09 and Advanced modules to deepen your skills.
|
||||
|
||||
**Q: Can I do Module 09 (Multiplayer) without a partner?**
|
||||
**Q: Can I do Module 07 (Multiplayer) without a partner?**
|
||||
A: Not recommended - collaboration is the point. If solo, skip to Advanced modules or wait until you can pair with someone.
|
||||
|
||||
**Q: How long does the workshop take?**
|
||||
@@ -445,16 +441,16 @@ A:
|
||||
2. Check [GIT-CHEATSHEET.md](GIT-CHEATSHEET.md)
|
||||
3. Run `./reset.ps1` to start fresh
|
||||
4. Use `git status` and `git log --graph` to understand current state
|
||||
5. For Module 09, ask your partner or facilitator
|
||||
5. For Module 07, ask your partner or facilitator
|
||||
|
||||
**Q: Can I use this for a team workshop at my company?**
|
||||
A: Absolutely! See the "For Workshop Facilitators" section above. The materials are designed for both self-study and instructor-led workshops.
|
||||
|
||||
**Q: Do I need internet access?**
|
||||
A: Modules 01-08 work completely offline. Module 09 requires internet to access the Git server.
|
||||
A: Modules 01-08 work completely offline. Module 07 requires internet to access the Git server.
|
||||
|
||||
**Q: What if I prefer GitHub/GitLab instead of Gitea?**
|
||||
A: The skills are identical across all Git platforms. Module 09 uses Gitea but everything you learn applies to GitHub, GitLab, Bitbucket, etc.
|
||||
A: The skills are identical across all Git platforms. Module 07 uses Gitea but everything you learn applies to GitHub, GitLab, Bitbucket, etc.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user