A safety-first Git learning system that connects commands to Git's data model, then proves the concepts through isolated branching, conflict, recovery, debugging, and collaboration labs.
Every destructive exercise runs inside a newly created temporary repository. The labs never modify one of your existing projects.
Open the interactive Git Command Master Map for a compact reference covering setup, staging, commits, branches, remotes, undo, rebase, recovery, debugging, and daily DevOps workflows.
The map is the memory aid. The repository is the practice environment.
flowchart TB
WD[Working directory] -->|git add| Index[Staging area / index]
Index -->|git commit| Local[Local repository]
Local -->|git push| Remote[Remote repository]
Remote -->|git fetch| Tracking[Remote-tracking refs]
Tracking -->|merge or rebase| Local
WD -. git restore .-> WD
Index -. git restore --staged .-> WD
Local -. git revert / reset .-> Local
Local -. git reflog recovery .-> Local
Most Git mistakes become manageable once you identify which location changed and whether the affected object is still reachable.
| Level | Modules | Outcome |
|---|---|---|
| Beginner | 1–3 | Create repositories, inspect changes, stage, commit, branch, merge, and resolve a conflict |
| Intermediate | 4–5 | Rebase, cherry-pick, stash, undo safely, and recover deleted-looking work |
| Advanced | 6–7 | Diagnose regressions with bisect, investigate history, and operate a review-based team workflow |
| Production | Troubleshooting and scenarios | Choose safe recovery techniques for shared branches and incident conditions |
Follow the End-to-End Guide the first time.
Prerequisites: Git, Bash, and Python 3.
git clone https://github.com/jeevanm84/git-command-master-map.git
cd git-command-master-map
./scripts/check.sh
./scripts/new-sandbox.shThe second command prints the location of a disposable Git repository configured with a local-only practice identity.
| Lab | Focus | Format |
|---|---|---|
| 01 | Repository model and inspection | Guided |
| 02 | Branching and merging | Guided + executable setup |
| 03 | Conflict investigation and resolution | Guided + executable setup |
| 04 | Rebase and cherry-pick | Guided |
| 05 | Undo and reflog recovery | Executable demonstration |
| 06 | Regression debugging with bisect | Executable demonstration |
| 07 | Pull-request and release workflow | Scenario-based |
Each lab specifies its objective, starting state, observations, verification, recovery, explanation, and extensions.
git-command-master-map/
├── README.md
├── docs/
│ ├── index.html # Visual master map / GitHub Pages
│ ├── END_TO_END_GUIDE.md # Single start-to-finish path
│ ├── GIT_DATA_MODEL.md # Objects, refs, index and remotes
│ ├── TROUBLESHOOTING.md # Symptom-to-recovery handbook
│ └── INTERVIEW_QUESTIONS.md # Fundamentals through senior scenarios
├── labs/ # Seven isolated practical modules
├── scripts/
│ ├── new-sandbox.sh # Safe disposable repository factory
│ ├── check.py # Documentation and identity validation
│ └── check.sh # Complete local quality gate
├── tests/ # Executable behavior tests
└── .github/ # CI and community configuration
- Practice identity is local to each sandbox and uses
learner@example.invalid. - Lab scripts reject cleanup targets that do not match their
mktempprefix. git reset --hard, branch deletion, and reflog recovery are demonstrated only in disposable repositories.- Shared-branch guidance prefers
git revertover history rewriting. - Force-push examples use
--force-with-lease; plain--forceis treated as an unsafe default. - No GitHub token, remote push, or network connection is required for the labs.
The project explains more than command syntax:
- When merge preserves useful topology and when rebase improves local history
- Why a commit can be recoverable after a reset
- Why remote-tracking branches are not live remote branches
- How to distinguish working-tree, index, and commit problems
- Why protected branches and review workflows matter
- How to investigate before rewriting or deleting history
Git foundations → AWS → Terraform → Packer → Kubernetes
Continue with Terraform AWS High-Availability Web Platform, or return to the jeevanm84 engineering portfolio.
Contributions are welcome through pull requests. Read CONTRIBUTING.md and report vulnerabilities privately using SECURITY.md. Never include real credentials, private repository URLs, employer information, or sensitive commit history in an issue.
Maintained by @jeevanm84 · MIT License