Understand Git & GitHub Basics
This is the largest skill area — 25–30% of the exam. It covers version control fundamentals, the difference between Git and GitHub, core Git concepts, accounts and organizations, the GitHub Flow, Markdown, and the GitHub Desktop and Mobile apps.
Version Control Fundamentals
Purpose & Benefits of Version Control
A version control system (VCS) records changes to files over time so you can recall specific versions later, understand what changed and why, and collaborate without overwriting each other's work.
Per GitHub Docs: Git is a distributed version control system (DVCS) — every contributor's clone is a full-fledged repository with complete history, so you can work offline and there is no single point of failure.
Key Benefits to Know
- Complete history & traceability — every change is recorded with an author, timestamp, and message
- Revert & recover — roll back to any previous working state if something breaks
- Parallel work via branches — multiple people develop features simultaneously without conflict
- Collaboration at scale — merge contributions from many developers into one project
- Accountability —
git blameand history show who changed what and when - Experimentation — try ideas on a branch and discard them safely if they don't work
Centralized vs. Distributed Version Control
| Type | How It Works | Examples |
|---|---|---|
| Centralized (CVCS) | One central server holds the repository; clients check out files. Offline work is limited. | Subversion (SVN), CVS, Perforce |
| Distributed (DVCS) | Every clone is a full repository with complete history. Work offline, commit locally, sync later. | Git, Mercurial |
Git vs. GitHub — Know the Difference
This distinction is directly and frequently tested. Git is the tool; GitHub is a cloud platform built around it.
| Git | GitHub | |
|---|---|---|
| What it is | Open-source, distributed version control software | Cloud-based hosting platform for Git repositories |
| Where it runs | Locally on your computer (command line or GUI) | On the web (github.com) — SaaS |
| Created by | Linus Torvalds (2005) | GitHub, Inc. (2008), now part of Microsoft |
| Adds | Commits, branches, merges, history | Pull requests, issues, Actions, collaboration, access control, social features |
| Needs internet? | No — fully functional offline | Yes — it's a hosted service |
Git = the version-control engine on your machine. GitHub = the place where you host, share, and collaborate on Git repositories. You can use Git without GitHub, but GitHub requires Git under the hood. (Alternatives that also host Git include GitLab and Bitbucket.)
Key Git Concepts — Repositories, Commits & Branches
Core Terminology
- Repository (repo): a project's folder containing all files and the complete history of changes, tracked by Git in a hidden
.gitdirectory - Commit: a snapshot of your changes at a point in time, with a unique ID (SHA hash), author, and message. Commits form the project history
- Branch: a movable pointer to a line of development. The default branch is usually
main. Branches let you work in isolation - Merge: combining the changes from one branch into another
- Clone: a full local copy of a remote repository, including all history
- Fork: your own server-side copy of someone else's repository under your account
- Remote: a version of the repo hosted elsewhere (e.g.
originon GitHub) - Staging area (index): where you place changes with
git addbefore committing them
The Everyday Git Workflow
| Command | What it does |
|---|---|
git init | Create a new local repository |
git clone <url> | Copy a remote repository (with history) to your machine |
git add <file> | Stage changes for the next commit |
git commit -m "message" | Record staged changes as a snapshot |
git push | Upload local commits to the remote (e.g. GitHub) |
git pull | Fetch remote changes and merge them into your branch |
git branch / git checkout -b | List branches / create and switch to a new branch |
git merge <branch> | Combine another branch into the current one |
A clone is a local copy on your machine. A fork is a copy on GitHub under your own account, typically used to contribute to a project you don't have write access to. You usually fork on GitHub, then clone your fork to work locally.
Working with GitHub
Accounts, Organizations & Enterprise
GitHub offers three account types. Understanding the hierarchy — personal → organization → enterprise — is exam-relevant.
| Account Type | Purpose |
|---|---|
| Personal account | An individual identity on GitHub. Owns repositories and can belong to organizations. Every person has exactly one. |
| Organization | A shared account for teams and companies. Groups people into teams with granular access to shared repositories. Owned by one or more admins. |
| Enterprise account | A top-level container for managing multiple organizations, centralized billing, and policy across a large company. |
Plans (High Level)
Per GitHub's plans, there are four tiers. Two are for personal accounts (Free, Pro) and three for organizations (Free, Team, Enterprise).
| Plan | For | What it adds | Included allowances* |
|---|---|---|---|
| GitHub Free | Personal accounts & organizations | Unlimited public and private repositories, with a limited feature set on private repos. Community support only. | 2,000 Actions min/month · 500 MB Packages |
| GitHub Pro | Personal accounts | Everything in Free, plus advanced tools for private repos — protected branches, required reviewers, code owners, wikis, and repository insights/graphs — and email support. | 3,000 Actions min/month · 2 GB Packages |
| GitHub Team | Organizations | The same advanced private-repo tools as Pro, for every org member, plus team access controls, team pull request reviewers, and email support. Paid per user. | 3,000 Actions min/month · 2 GB Packages |
| GitHub Enterprise | Organizations & enterprises | Everything in Team, plus SAML SSO, access provisioning, enterprise accounts that manage multiple organizations, internal repositories, compliance controls, and enterprise support. Available as Enterprise Cloud (hosted) or Enterprise Server (self-hosted). | Enterprise Cloud: 50,000 Actions min/month · 50 GB Packages |
* Allowances apply to private repositories; GitHub Actions on standard GitHub-hosted runners is free for public repositories. Figures change over time, so check the plans page before relying on exact numbers.
Pro and Team unlock the same advanced private-repo features (protected branches, required reviewers, code owners, wikis). The difference is who they are for: Pro is for one person's personal account; Team is for an organization and adds team-based access control. Need SAML SSO or multiple organizations under one roof? That's Enterprise.
The GitHub Flow
The GitHub Flow is a lightweight, branch-based workflow. Memorize the steps and their order.
The Steps, In Order
- 1. Create a branch — branch off
mainso your work is isolated from the stable code - 2. Make changes & commit — add commits with clear messages describing each change
- 3. Open a pull request (PR) — propose your changes and start a discussion/review
- 4. Review & discuss — collaborators review, comment, and request changes; CI checks run
- 5. Merge the pull request — once approved, merge into
main - 6. Delete the branch — clean up the merged branch
The very first step is always create a branch, and the pull request is the mechanism for review before merging to main. Expect a question that asks you to put these steps in the correct sequence or identify the purpose of the pull request.
Markdown for Clear Communication
Markdown is a lightweight markup language used to format issues, pull requests, comments, READMEs, wikis, and discussions. GitHub uses GitHub Flavored Markdown (GFM).
Common Syntax
| Syntax | Renders as |
|---|---|
# Heading | Headings (# to ######) |
**bold** / *italic* | Bold / italic text |
- item or 1. item | Bulleted / numbered lists |
[text](url) | A hyperlink |
`code` / ``` | Inline code / fenced code blocks |
- [ ] / - [x] | Task list (unchecked / checked) |
@username / #123 | Mention a user / reference an issue or PR |
> quote | Blockquote |
Task lists (- [ ]) create checkable checkboxes, and typing # followed by a number auto-links to an issue or PR. These GFM features power issue tracking and are commonly referenced on the exam.
GitHub Desktop & GitHub Mobile
When to Use Each
- GitHub Desktop — a free GUI app for Windows/macOS that lets you clone, commit, branch, and open pull requests without the command line. Ideal for those less comfortable with Git CLI, and for visualizing diffs and history.
- GitHub Mobile — iOS/Android apps to stay productive on the go: triage and respond to notifications, review and comment on pull requests, manage issues, and merge PRs. Not intended for heavy code editing.
- github.dev / Codespaces — browser-based editing options (covered under Modern Development) for when you need to edit code without a local setup.
Questions typically ask which tool fits a scenario: "review a PR from your phone" → GitHub Mobile; "commit and branch with a visual interface, no terminal" → GitHub Desktop; "quick edit in the browser" → github.dev.
Study Resources
- GitHub Foundations — Part 1 (Microsoft Learn) Covers Git basics, repositories, and the GitHub Flow with hands-on exercises.
- About Git (GitHub Docs) Authoritative explanation of Git as a distributed version control system.
- GitHub Flow (GitHub Docs) The official description of the branch-based collaboration workflow.
- Basic Writing & Formatting Syntax (GitHub Docs) The full GitHub Flavored Markdown reference.
- GitHub Skills — Introduction to GitHub Free hands-on course that walks through branches, commits, and pull requests.