The companion repository for the Git 101 course by Fynes Forge.
Unlike a course where you write answers into files, Git is learned by doing. This repo gives you a real environment to practise in — branches to switch between, a commit history to inspect, conflicts to resolve, and files to stage, stash, and reset.
This repo is your playground. Break things. That's the point.
Click Fork in the top-right corner of GitHub. This creates your own personal copy.
git clone git@github.com:<your-username>/git-101.git
cd git-101No SSH key yet? Grade 3 covers exactly this. For now you can clone with HTTPS:
git clone https://github.com/<your-username>/git-101.git
Each grade has its own folder with a README.md containing your exercises.
grades/
├── grade-1/ ← Start here
├── grade-2/
├── grade-3/
...
└── grade-8/
| Grade | Topic | Key Commands |
|---|---|---|
| 1 | Getting Started | git init, git clone, git config |
| 2 | Basic Workflow | git add, git commit, git log |
| 3 | Collaborating with GitHub | git remote, git push, git pull, git fetch |
| 4 | Branching & Merging | git branch, git checkout, git merge |
| 5 | Inspecting & Comparing | git diff, git revert, git reset, HEAD |
| 6 | Advanced Techniques | git stash, git tag, git rebase, .gitignore |
| 7 | Troubleshooting & Optimisation | git clean, git prune, git gc, git fsck |
| 8 | Real-World Scenarios | Gitflow, pull requests, GitHub Actions, GPG signing |
This repo comes with several branches ready for you to use in the exercises:
| Branch | Purpose |
|---|---|
main |
The stable base branch |
practice/feature-login |
A feature branch to merge into main (Grade 4) |
practice/conflict-a |
One side of a merge conflict (Grade 4) |
practice/conflict-b |
Other side of a merge conflict (Grade 4) |
practice/rebase-me |
A branch to practise rebasing (Grade 6) |
practice/stash-demo |
A branch with uncommitted-style work to practise stashing (Grade 6) |
- Run
git statusconstantly — it tells you exactly where you are. - Run
git log --oneline --graph --allto visualise the full branch history. - Made a mess? Every grade's
README.mdhas a Reset section to get back to a clean state. - Check
tips/cheatsheet.mdfor a quick command reference.
See CONTRIBUTING.md for how to report issues or suggest improvements.