Practical reference for learning version control with Git and collaboration using GitHub.
- What Git is and why it's used
- Git file lifecycle (Working Directory → Staging → Local Repo → Remote Repo)
- Basic, intermediate, and advanced Git commands
- Branching & merging
- Rebase (interactive, squash, drop, exec)
- Fixing common mistakes (reset, revert, stash)
- Debugging & recovery workflows (Cherry-pick, reflog, bisect)
- Working with GitHub (push, pull, clone, fork, PRs)
This repository is organized into the following sections:
- Setup
- Basics
- Branching, Merging, and Conflicts
- Diff, Stash
- Rebase, Rebase Conflicts
- Restore, Reset, Revert, Amend
- Working with Remotes
- Advanced Workflow
- Clear explanations.
- Commands with examples.
- Concept-focused notes (not just syntax).
Thanks for your interest in contributing 🎉
- Improving explanations
- Adding examples
- Adding new Git topics
- Fork the repository
- Create a new branch
git checkout -b improve-docs - Make your changes
- Commit with a clear message
git commit -m "Improve explanation of git rebase" - Push and open a Pull Request
- Keep explanations simple and practical
- Avoid unnecessary theory
- Stay consistent with folder naming
- Prefer clarity over cleverness
Found this repo helpful ? Give it a ⭐️