An interactive, visual web application for learning Git branching and merging concepts through level-based exercises. You dont required to install git cli for that
- 8 Progressive Levels - From repo creation to complex merge workflows
- Terminal Interface - Real Git command experience
- Visual Git Graph - See branches and commits in real-time
- Auto-Save Progress - Resume from where you left off
- Responsive Design - Works on desktop and mobile
- Create Your First Repository - Simulate GitHub repo creation, git init, commit & push
- Branching & Committing - Create feature1 branch, make commits, switch between branches
- Merging a Feature Branch - Create feature2, commit, and merge into main
- Multi-Feature Merge - Create feature3 and merge all features into main
- Deleting Branches - Clean up old feature branches and watch them disappear from the graph
- Merge Conflict Simulation - Handle complex merge scenarios
- Rebase - Rewriting History - Understand linear history
- Final Boss - Complex multi-branch workflow
curl- Simulate GitHub API repo creationgit init- Initialize a local repositorygit add .- Stage filesgit config user.name "Name"- Set your namegit commit/git commit -m "msg"- Create a new commitgit branch <name>- Create a new branchgit branch -d <name>- Delete a branch (protected: main, dev)git checkout <name>- Switch to a branchgit merge <name>- Merge a branch into current branchgit remote add origin <url>- Add a remotegit push -u origin main- Push to remote
In this tutorial, the curl command and token are simulated. But if you want to create repos from the CLI for real, you'll need a GitHub Personal Access Token (PAT).
- Go to GitHub → Settings → Developer settings → Personal access tokens → Fine-grained tokens
- Under Permissions → Repository permissions, enable:
- Administration → Read and write (required to create/delete repos)
- Contents → Read and write (required to push code)
- Metadata → Read-only (auto-selected)
- Click "Generate token" and copy it immediately — you won't see it again!
curl -H "Authorization: token ghp_xxxxxxxxxxxxxxxxxxxx" \
https://api.github.com/user/repos \
-d '{"name":"my-new-repo","private":false}'git init
git add .
git commit -m "Initial commit"
git remote add origin https://github.com/yourusername/my-new-repo.git
git push -u origin mainSecurity Tips:
- Never commit your PAT to a repository
- Use fine-grained tokens over classic tokens — they follow the principle of least privilege
Simply open index.html in your browser. No build process required.
open index.html- Pure HTML5, CSS3, JavaScript (ES6+)
- LocalStorage API for progress persistence
- SVG for Git graph visualization
- No dependencies or frameworks
- Works offline after first load
MIT License
Copyright (c) 2025 Mohit Mehral
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.