Git & GitHub: A Beginner’s Guide to Collaboration and Version Control
Elizabeth Ng'ang'a

Elizabeth Ng'ang'a @1303liz

Joined:
Jun 23, 2025

Git & GitHub: A Beginner’s Guide to Collaboration and Version Control

Publish Date: Jun 26
1 0

Introduction
If you're just starting your journey into software development, you've probably heard about Git, version control and GitHub but what exactly are they, and why do developers swear by them?
1.Git is a powerful version control system.
2.version control means you can experiment, roll back mistakes, and collaborate with others without fear of losing work.
3.GitHub is a platform built around Git to make collaboration easier.

Together, they form the backbone of modern software development helping individuals and teams manage code, track changes, collaborate without chaos, and contribute to open-source projects.

This guide will walk you through version control and the essentials of Git & GitHub, from forking a project to managing pull requests, resolving merge conflicts, and everything in between.

1.Version control
Version control is a system that records changes to files over time, so you can track what was changed, when, and by whom.

In software development

it's used to:

  • Keep a history of every code update
  • Collaborate with others without overwriting each other’s work
  • Revert to previous versions if something breaks. Think of it like a time machine for your code allowing you to experiment freely while staying organized and in control.

Forking:Creating Your Own Copy

Forking means creating your own copy of someone else’s repository on GitHub. You can make changes without affecting the original.
why fork?

  • To contribute to open-source projects
  • To use someone else’s code as a starting point.

Forking
You click the button written Fork.

Collaboration: Working with a Team

It’s when multiple developers work on the same project using Git and GitHub.
How it works
1.Shared Repository:
A central GitHub repository acts as the “source of truth.” Team members clone this repo to work locally and push changes back when ready.
2.Branching:
Each developer works in their own branch (e.g., feature/login-page, fix/button-crash). This isolates work and prevents disruptions to the main branch.
3.Pull Requests (PRs):
When a branch is ready, the developer opens a PR. This lets teammates review the code, discuss changes, and approve before merging.
4.Permissions & Roles:
Admins control access (who can merge, who can push to protected branches)
Contributors usually push to their branches and open PRs for review
Reviewers suggest improvements or approve code before it goes live

Pull Requests (PRs): Merging Changes

A pull request (PR) is a way to propose changes you've made in one branch to be merged into another branch usually the main or develop branch.
Think of a PR like saying:
“Hey team, I’ve made some updates. Can someone review and merge them into the main codebase?”
It’s a key part of collaborative workflows on GitHub and ensures changes are reviewed, tested, and approved before becoming part of the final project.
Why PRs Matter
1.Enable Code Review:
Other team members can review your code, catch bugs, and suggest improvements before anything is merged.
2.Keep Main Branch Clean:
By reviewing changes first, PRs protect the main branch from unstable or broken code.
3.Encourage Team Collaboration:
PRs often lead to discussions around code quality, best practices, or alternative solutions.

How to Create a Pull Request

Step 1:

Create a Feature Branch Locally

git checkout -b new-feature
Enter fullscreen mode Exit fullscreen mode

Make your changes in the project files

Step 2:Stage and Commit Your Work

git add .
git commit -m "Add dark mode feature"
Enter fullscreen mode Exit fullscreen mode

Step 3: Push Your Branch to GitHub

git push origin new-feature
Enter fullscreen mode Exit fullscreen mode

Step 1: Create a Feature Branch Locally

git checkout -b new-feature
Enter fullscreen mode Exit fullscreen mode

Make your changes in the project files

Step 2: Stage and Commit Your Work

git add .
git commit -m "Add dark mode feature"
Enter fullscreen mode Exit fullscreen mode

Step 3: Push Your Branch to GitHub

git push origin new-feature
Enter fullscreen mode Exit fullscreen mode

Step 4: Open the Pull Request on GitHub
Navigate to your repo on GitHub
You’ll see a prompt:
“Compare & pull request” → Click it
Add:
A title (e.g., feat: Add dark mode toggle)
A description explaining what you did and why
Link issues it solves (e.g., Closes #14)
Assign reviewers and labels if needed
Click “Create Pull Request"

Code Review: Improving Code Quality

Code review is the process where team members review each other’s code before it is merged into the main branch. It happens during a pull request (PR) and ensures that all changes meet the project’s standards.
Think of it like proofreading a document before submitting it except you're reviewing code for logic, readability, and potential issues.
Code reviews help improve not just the quality of the code but also the quality of the team's collaboration

GitHub Issues: Tracking Bugs & Tasks

What Are Issues?
GitHub Issues help teams:

  • Report bugs
  • Suggest features
  • Assign tasks

Why Use Them?

  • Keep development organized
  • Link PRs to issues with keywords (Fixes #12)

Essential Git Commands


git clone [url] Clone a repo
git status  Show current changes
git add .   Stage changes
git commit -m "msg" Save a snapshot
git push    Upload changes
git pull    Download changes
git branch  List branches
Enter fullscreen mode Exit fullscreen mode

Pushing Changes to GitHub

Create a branch

 git checkout -b fix-navbar
Enter fullscreen mode Exit fullscreen mode



Make changes, then stage & commit


bash git add .
git commit -m "Fix navbar layout issue"
Enter fullscreen mode Exit fullscreen mode



Push changes to your GitHub repo


git push origin fix-navbar 
Enter fullscreen mode Exit fullscreen mode



Final Thoughts

Mastering Git and GitHub empowers you to:

  • Collaborate with other developers
  • Keep your code organized and versioned
  • Contribute to open-source
  • Deliver higher quality software Whether you're solo-building or working on a team, these tools are the foundation of modern development.

Comments 0 total

    Add comment