A beginner-friendly learning repository for understanding version control and collaboration from the fundamentals to hands-on practice.
Git and GitHub Notes for Beginners is a structured learning repository created for students and beginners who want to master version control and team collaboration.
The content is organized into a simple logical learning path, starting from basic Git initialization and moving all the way up to branching, merging, open-source contribution, and GitHub features.
This repository is designed to be easy to read, practical, and useful as both a learning guide and a quick revision resource.
| Module | Topic | Folder | Focus Area |
|---|---|---|---|
| Module 1 | Introduction & Setup | 01-introduction/ & 02-setup/ | What is Git/GitHub, Installation, HTTPS & SSH Authentication |
| Module 2 | Basic Git & GitHub Workflow | 03-basic-git-workflow/ & 04-github-workflow/ | init, add, commit, status, push, pull, clone |
| Module 3 | Branching, Merging & Collaboration | 05-branching-and-merging/ & 06-collaboration/ | Branches, Conflicts, Forks, Pull Requests, Issues |
| Module 4 | Undoing, Features & Practice | 07-undo-and-fix/ to 10-practice/ | reset, revert, GitHub Actions, Real-world workflows, Tasks |
- Clean and beginner-friendly explanations
- Structured step-by-step learning flow
- Markdown tables for quick command revision
- Embedded Mermaid diagrams for visual understanding
- Real-world analogies for complex topics
- Code snippets for practical learning
- Cheatsheet for quick reference
- Mini-project assignment for practice
- Start with 01-introduction to understand why we use version control.
- Follow 02-setup to get your machine ready.
- Master the commands in 03-basic-git-workflow and 04-github-workflow.
- Read through the Branching and Collaboration modules to learn how to work with others.
- Revise using CHEATSHEET.md.
- Try the practical tasks in 10-practice.
This repository is useful for:
- Students starting software engineering
- Beginners learning version control for the first time
- Teachers or mentors preparing basic Git sessions
- Developers who want quick revision notes and cheatsheets
- Contributors who want to improve student-friendly learning resources
You can use this repository in three ways:
Clone the repository and read through the modules in numerical order (01 to 10). Search inside the notes or open [CHEATSHEET.md](./CHEATSHEET.md) whenever you need to revise a specific command, syntax, or concept. Use the theory questions, checklists, and mini-project from the [10-practice](./10-practice) folder to test your understanding.After completing the notes, try building a dummy project by:
- Creating a new empty repository on GitHub
- Cloning it locally
- Adding a
README.mdand committing it - Creating a new branch named
feature-update - Making a change, committing, and pushing the branch
- Opening a Pull Request on GitHub and merging it
- Pulling the changes back down to your local
mainbranch
Contributions are welcome.
You can contribute by:
- Fixing spelling or formatting issues
- Improving explanations
- Adding examples
- Adding diagrams
- Adding beginner-friendly coding tasks
- Expanding notes with advanced Git topics
Before contributing, please see CONTRIBUTING.md and make sure your changes are clear, simple, and helpful for beginners.
Planned additions may include:
- Advanced Git (Cherry-picking, Bisect)
- Deep dive into GitHub Actions (CI/CD)
- Managing submodules
- Git Hooks basics
- Interview questions for beginners
This repository is maintained as a student-friendly learning resource under Enggvault.
Made with dedication for students learning version control.
Developed and Maintained by Tushar Kanti Dey
If this repository helps you, consider giving it a star.