Git & GitHub: your project's time machine
420-302-VA · WEEK 1 · FALL 2026

Utility · sources and further reading

Resources

Everything this hub teaches is checked against the documents below. Same rule as every week: when a tutorial found in a search disagrees with these, these win.

Official documents

DocumentUse it forLicence
Pro Git (Chacon & Straub)The definitive free book; chapters 1 to 3 cover this entire hub with more depthCC BY-NC-SA 3.0
Git reference documentationThe manual page of every command and option; what git help <command> showsProject documentation
Git downloadsInstallers for Windows, macOS and LinuxOfficial distribution
GitHub Docs: Get startedAccounts, repositories, collaborators, and the web interface, with current screenshotsGitHub Docs (CC BY 4.0)
Writing and formatting on GitHubThe Markdown that Assignment 1's README needsGitHub Docs (CC BY 4.0)
Markdown Guide: basic syntaxThe same Markdown, host-independent, on one pageOpen reference site

Background reading, matched to the stages

StageRead this for the ideas behind it
Why version controlPro Git: About version control; Atlassian's What is version control?
The four areasPro Git: What is Git?, the three local states in the book's own words
The daily cyclePro Git: Recording changes; Atlassian's Saving changes
Remotes and pushingPro Git: Working with remotes; GitHub Docs' Get started path
Conflicts and mergingAtlassian's Merge conflicts guide; Oh Shit, Git!?! for when a command went sideways

Reading order for a beginner: this hub first, then the linked Pro Git sections, then Atlassian when you want a second telling with different pictures.

Practice playgrounds

  • Learn Git Branching: the classic interactive sandbox; you type real commands and watch the commit graph respond. Start with the "Introduction Sequence"; the branching levels will carry you well past this course.
  • Oh My Git!: an open-source game that draws your repository as a live board; a gentler on-ramp if the sandbox feels abstract.
  • GitHub Skills: free interactive courses that run inside real repositories on your own account, including "Introduction to GitHub" (this week's homework), Markdown, and pull requests (useful before the term project).

About graphical clients

Point-and-click Git clients exist, notably GitHub Desktop, and they are legitimate tools. This course still teaches the command line first, deliberately: the commands are identical on the lab PC, your laptop and the Raspberry Pi (where there is no desktop client over SSH), the error messages you will search for are the command-line ones, and every GUI is a skin over these same operations. Once the commands make sense, adopt any client you like at home; you will understand what its buttons do.

Glossary

TermMeaning
Version control systemSoftware that records the history of a folder so versions can be compared, restored and merged.
Repository (repo)A folder tracked by Git; its history lives in the hidden .git directory.
Working directoryThe visible files as they currently are on disk.
Staging area (index)The set of changes selected, via git add, for the next commit.
CommitA permanent snapshot with author, date, message and a link to its parent.
HEADGit's name for "where you currently stand" in history, normally the tip of your branch.
Branch / mainA movable pointer to a line of commits; main is the default branch's conventional name.
MergeCombining another line of commits into your current branch.
Merge conflictGit's pause when both sides changed the same lines; resolved by editing, add, commit.
Remote / originA copy of the repository elsewhere; origin is the conventional name of yours on GitHub.
Clone / push / pull / fetchDownload a repository / upload your commits / download-and-merge others' commits / download without merging.
README.md / MarkdownThe rendered front page of a repository / the plain-text formatting language it is written in.
.gitignoreA committed file listing patterns Git should leave untracked.
Pull request (PR)GitHub's reviewed-merge mechanism: propose a branch, discuss the diff, merge on approval.

← Troubleshoot · Start here · Week 2 hub →