Zero experience required

GitHub for Complete Beginners

A friendly guide to understanding repositories, commits, and collaboration โ€” no jargon, just plain English.

The Big Picture

Before touching any buttons, let's understand what problem GitHub actually solves.

Sound familiar?

Imagine you're writing a book. Your desktop ends up looking like this:

๐Ÿ“„ Chapter1.docx ๐Ÿ“„ Chapter1_v2.docx ๐Ÿ“„ Chapter1_FINAL.docx ๐Ÿ“„ Chapter1_FINAL_really.docx

Which one is current? If you delete the wrong one, it's gone forever. We've all been there.

Git is software that tracks every change you make to files over time.
GitHub is a website that stores those tracked projects online โ€” like a safe in the cloud with a perfect memory.
  • Back up your work in the cloud
  • See history โ€” every change, who made it, and when
  • Undo mistakes by going back to an earlier version
  • Collaborate without overwriting each other's work
  • Share projects with the world

The Filing Cabinet Analogy

A filing cabinetโ†’A repository (repo)
A folder of documentsโ†’The files inside the repo
A photocopy every time you editโ†’A commit (saved snapshot)
A sticky note on the copyโ†’A commit message
A duplicate at a friend's officeโ†’A remote copy on GitHub
Your draft copy at homeโ†’Your local copy on your computer

Key Terms

Plain English definitions โ€” no dictionary required.

Repository (repo)

A project folder Git tracks โ€” files plus full history. Public or private.

Clone

Download a copy of a repo from GitHub to your computer.

Commit

A saved snapshot with a description โ€” like a video game restore point.

Push

Upload your local commits to GitHub so the online copy is current.

Pull

Download the latest changes from GitHub to your computer.

Branch

A parallel version to experiment without breaking the main version.

Merge

Combine changes from one branch into another.

Fork

Your own copy of someone else's repo โ€” change it without affecting the original.

Pull Request (PR)

A request to merge changes โ€” with space for review and discussion.

.gitignore

Tells Git which files NOT to track โ€” passwords, temp files, large downloads.

Setting Up

Four steps to go from zero to ready.

Create a GitHub account

Go to github.com โ†’ Sign up โ†’ choose username, email, password โ†’ verify email. Your username becomes part of every repo URL: github.com/yourusername/project-name

Install Git on your computer

Git is the engine; GitHub is where repos live online. On Mac, run git --version in Terminal. On Windows, download from git-scm.com.

Tell Git who you are

Terminal โ€” run once
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

Install GitHub Desktop (optional)

If the command line feels intimidating, GitHub Desktop gives you buttons for clone, commit, push, and pull. Many beginners start here.

Your First Repository

Two ways to create a repo โ€” pick whichever feels easier.

Option A: On the GitHub website (easiest)

Click + โ†’ New repository

Name it (no spaces โ€” use hyphens: my-first-project), add a description, choose Public or Private, check "Add a README file", then Create.

Option B: From your computer

Terminal
# Create and enter project folder
mkdir my-first-project && cd my-first-project
git init

# Create a README and save first snapshot
echo "# My First Project" > README.md
git add .
git commit -m "Initial commit"

# Connect to GitHub and upload
git remote add origin https://github.com/yourusername/my-first-project.git
git push -u origin main

Cloning an existing repo

Terminal
git clone https://github.com/yourusername/my-first-project.git

This downloads the folder with all files and full history.

The Daily Workflow

The cycle you'll repeat hundreds of times. Watch it loop:

Your daily Git rhythm

โœ๏ธ
Edit
your files
โ†’
๐Ÿ“ฆ
Stage
git add .
โ†’
๐Ÿ’พ
Commit
git commit -m "..."
โ†’
โ˜๏ธ
Push
git push
Before you start working: always run git pull first to get the latest changes โ€” especially on a team.

Good vs. bad commit messages

"Fix typo in installation instructions" โ€” clear and specific
"stuff" or "asdfasdf" โ€” you'll regret this later

Working With Others

GitHub makes teamwork possible without chaos.

Invite collaborators

Repo โ†’ Settings โ†’ Collaborators โ†’ Add people by username or email.

Clone a teammate's repo

git clone https://github.com/teammate/project-name.git

The Golden Rule

Pull before you push. Always run git pull before starting work and before pushing.

Branches Explained Simply

Experiment safely without breaking the stable version.

main A B C F โœ“ feature D E
Branch commands
git checkout -b add-new-section   # Create & switch
# ... make changes, commit ...
git push -u origin add-new-section
git checkout main                  # Switch back

Pull Requests

A PR isn't just "please merge" โ€” it's a conversation space.

Push your branch

GitHub shows a "Compare & pull request" banner โ€” click it.

Write title & description

Explain what changed and why. Link related Issues.

Review & merge

Reviewers comment, request changes, or approve. Then click Merge pull request.

Issues & Project Boards

GitHub's built-in to-do list and bug tracker.

Issues are tickets you assign, label, and discuss. Repo โ†’ Issues โ†’ New issue.

Project Boards are Kanban-style boards (To Do โ†’ In Progress โ†’ Done) under the Projects tab.

README Files

The front page of your repo โ€” the first thing visitors see.

README.md
# Project Name
One sentence explaining what this project is.

## What is this?
Longer description for people with no context.

## Getting Started
Step-by-step instructions.

## How to Contribute
Guidelines for helpers.

## License
Who can use this and how.

Common Mistakes

MistakeWhat happensFix
Forgetting to pull firstMerge conflictsAlways git pull first
Committing passwordsSecurity risk foreverUse .gitignore
Vague commit messagesHard to find changesWrite clear messages
Huge files in repoSlow, bloated repoUse cloud storage instead
Big changes on mainBreak stable versionUse branches
Not pushing for daysWork lost if laptop diesPush daily

When Things Go Wrong

Wrong branch?

git checkout correct-branch then git cherry-pick <hash>. Fixable โ€” ask for help!

Undo last commit?

git reset --soft HEAD~1 keeps your file changes.

Merge conflict?

Open the file, delete conflict markers, keep the right text, then commit.

Deleted something?

git log -- file.txt then git checkout <hash> -- file.txt

GitHub vs. Other Tools

ToolWhat it isWhen to use it
GitHubOnline home for Git reposCode, docs, team projects
Google Drive / iCloudCloud file storageSingle docs, photos โ€” no Git history
ObsidianPersonal note syncingNotes โ€” not code collaboration

Cheat Sheet

Essential commands
# Setup (once)
git config --global user.name "Your Name"
git config --global user.email "you@email.com"

# Daily loop
git pull                     # Get latest
git status                   # What changed?
git add .                    # Stage all
git commit -m "message"    # Save snapshot
git push                     # Upload

# Branches
git branch                   # List
git checkout -b new-branch # Create & switch
git log                      # History

Glossary

TermDefinition
CommitA saved snapshot at a point in time
RepositoryA tracked project folder with full history
RemoteThe copy on GitHub's servers
LocalThe copy on your computer
CloneDownload a repo to your machine
Push / PullUpload / download commits
BranchAn independent line of development
Pull RequestRequest to merge with review space
READMEFront-page description file
.gitignoreFiles Git should not track
Open sourcePublic repos anyone can use