Skip to content

Enggvault/Github

Repository files navigation

Git and GitHub Notes

A beginner-friendly learning repository for understanding version control and collaboration from the fundamentals to hands-on practice.

Beginner Friendly Markdown Notes Git and GitHub Contributions Welcome

Overview

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.

Learning Path

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

What You Will Learn

Module 1: Introduction and Setup

Start with the bigger picture of version control. * The difference between Git and GitHub * Centralized vs Distributed version control * Installing Git on your local machine * Authenticating with GitHub using HTTPS (PAT) and SSH

Module 2: Core Workflows

Understand the everyday commands used by developers. * The file lifecycle (Untracked, Staged, Committed) * Making local commits with clear messages * Linking local repositories to remote origins * Pushing and pulling code from the cloud * Cloning public and private repositories

Module 3: Collaboration and Teamwork

Move into professional team development concepts. * Creating and switching branches * Merging code and resolving merge conflicts * Forking open-source repositories * Opening, reviewing, and merging Pull Requests * Using Issues and Discussions

Module 4: Advanced Fixes and Practice

Learn to undo mistakes and apply your knowledge. * Restoring files and resetting commits * Stashing temporary work * Fixing the "Non-Fast-Forward" error * Daily developer and team collaboration workflows * Hands-on beginner and intermediate coding tasks

Repository Highlights

  • 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

Recommended Learning Order

  1. Start with 01-introduction to understand why we use version control.
  2. Follow 02-setup to get your machine ready.
  3. Master the commands in 03-basic-git-workflow and 04-github-workflow.
  4. Read through the Branching and Collaboration modules to learn how to work with others.
  5. Revise using CHEATSHEET.md.
  6. Try the practical tasks in 10-practice.

Who Is This Repository For?

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

How to Use This Repository

You can use this repository in three ways:

1. Learn Step by Step

Clone the repository and read through the modules in numerical order (01 to 10).

2. Use as a Cheatsheet

Search inside the notes or open [CHEATSHEET.md](./CHEATSHEET.md) whenever you need to revise a specific command, syntax, or concept.

3. Practice With Tasks

Use the theory questions, checklists, and mini-project from the [10-practice](./10-practice) folder to test your understanding.

Suggested Practice Project

After completing the notes, try building a dummy project by:

  • Creating a new empty repository on GitHub
  • Cloning it locally
  • Adding a README.md and 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 main branch

Contribution Guidelines

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.

Future Improvements

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

Maintainer

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.

About

Git and GitHub Notes A beginner-friendly handbook for learning Git and GitHub from account setup and basic commands to branches, pull requests, open-source contribution, GitHub CLI, and real-world workflows.

Topics

Resources

Contributing

Stars

Watchers

Forks

Contributors