The course repository is the textbook. This lab is where you actually use Git.
Choose a normal development folder on your computer, then:
mkdir git-github-lab
cd git-github-lab
git initCreate a simple README:
# Git & GitHub Lab
Throwaway practice repository for learning Git safely.
Then make your first commit:
git add README.md
git commit -m "Initialize Git learning lab"git-github-lab/
├── README.md
├── notes/
├── experiments/
├── conflict-lab/
└── recovery-lab/
You may delete, rename, branch, merge, reset, recover, and recreate files here. That is the point.
A curriculum repository should stay stable. A Git-learning repository should become messy.
Your lab gives you:
- real commit history
- safe deliberate mistakes
- realistic branch practice
- conflict/recovery experiments
- something you can delete and recreate if necessary
For every lesson:
- Read the lesson in the course repository.
- Predict what each Git command will change.
- Recreate the exercise in this lab.
- Run
git statusbefore and after meaningful steps. - Use
git difforgit diff --stagedto inspect content changes. - Record errors/confusion in
notes/. - Pass the Transition Condition without reading the commands.
When Module 3 begins, create an empty GitHub repository named something like git-github-lab and connect this local repository to it. Do not use an important project for remote exercises.
Use recovery-lab/ for exercises involving reset, reflog, discarded edits, or rewritten history. Read SAFETY.md before those lessons.
By the end of the course, this lab should contain evidence that you have actually:
- created meaningful commit history
- branched and merged
- resolved conflicts
- pushed/pulled/fetched
- recovered deliberately lost committed work
- practiced a safe revert
- inspected and understood divergence
That history is more valuable than checked boxes in the curriculum repo.