GitHub Foundations study materials
GitHub Foundations study resources

GitHub Foundations flashcards

GitHub Foundations · Build recall with a focused review session.

32 cards. Read the term and the definition here. The deck at the top of this page is optional.

Distributed version control
Git is a distributed version control system: every clone contains the full commit history, so commits, diffs, and logs work offline without contacting a central server.
Git file states
Files move through three Git states: modified in the working directory, staged in the staging area or index, and committed, meaning stored permanently in the local repository.
git clone
git clone copies a remote repository, including all branches and its complete commit history, into a new local directory and records the source as the origin remote.
Staging area (index)
The staging area, also called the index, holds the changes selected for the next commit; git add moves modifications from the working directory into it.
Git versus GitHub
Git is the distributed version control software installed locally; GitHub is a cloud platform that hosts Git repositories and adds pull requests, issues, Actions, and project tools.
Commit object
A commit is an immutable snapshot recording the staged file tree, the author and committer, a timestamp, a message, and pointers to its parent commits.
Local and remote repositories
A local repository lives on your machine; a remote repository is hosted on a server such as GitHub, and git push and git pull synchronize commits between the two.
README file
README.md at the repository root is rendered on the repository's main page and usually explains the project's purpose, setup steps, and usage.
Private repository
A private repository is visible only to its owner and to collaborators or organization members explicitly granted access, whereas a public repository is visible to everyone.
Fork
A fork is a copy of another account's repository created under your own account, letting you change code freely and propose changes back through a pull request.
Default branch
The default branch is the branch GitHub displays first and checks out on clone; it is set in repository settings and is commonly named main.
.gitignore file
A .gitignore file lists path patterns for files Git should not track or commit, such as build output, dependency directories, and local environment files.
Repository topics
Topics are short descriptive labels attached to a repository that improve discoverability in GitHub search and topic pages, for example cli or machine-learning.
.github directory
The .github directory stores repository automation and community files, including Actions workflows, issue and pull request templates, and the CODEOWNERS file.
Pull request
A pull request proposes merging commits from a head branch into a base branch and provides a space for review comments, status checks, and merge controls.
Draft pull request
A draft pull request marks work that is not yet ready for review; it cannot be merged until the author converts it into a regular pull request.
Required reviews
Branch protection rules can require a minimum number of approving reviews before a pull request merges into a protected branch, optionally dismissing stale approvals.
CODEOWNERS file
A CODEOWNERS file maps path patterns to users or teams, and pull requests touching those paths automatically request review from the listed owners.
Repository permission roles
Repository roles are read, triage, write, maintain, and admin; each level grants more capability, and triage can manage issues and pull requests without pushing code.
Squash merge
Squash merging combines every commit in a pull request into one new commit on the base branch, producing a single clean change in the target history.
Workflow YAML file
A GitHub Actions workflow is a YAML file in .github/workflows that defines triggers, jobs, and steps and runs automatically when its configured events occur.
Encrypted secrets
Secrets are encrypted values stored at repository, organization, or environment scope; workflows read them through expressions and GitHub masks their values in logs.
Dependabot alerts
Dependabot compares dependency manifests against the GitHub advisory database and raises alerts, while security updates can open pull requests that fix vulnerable packages.
CodeQL code scanning
Code scanning analyses source code with tools such as CodeQL to find security weaknesses and reports them as alerts, which can be required before merging.
GitHub Codespaces
Codespaces provides cloud-hosted development environments configured by a devcontainer file, giving contributors a ready-to-code setup without installing toolchains locally.
GitHub Copilot
GitHub Copilot is an AI coding assistant that offers inline code completions and chat answers in supported editors and on github.com.
GitHub Projects
Projects is a planning tool that collects issues and pull requests from one or more repositories into table, board, and roadmap layouts with custom fields and automation.
Milestone
A milestone groups issues and pull requests under a single due date and shows the percentage completed, making it useful for tracking a release or sprint.
Labels
Labels are colored tags applied to issues and pull requests to categorize them by type, priority, or status, and they can be used as search filters.
Closing keywords
Writing closes, fixes, or resolves followed by an issue number in a pull request description automatically closes that issue when the pull request merges.
Task list checkboxes
Markdown task list items use checkbox syntax in an issue or pull request body to track subtasks and display a progress count of completed items.
Custom project fields
Projects support custom fields of type text, number, date, single select, and iteration, and views can group, sort, and filter items by those fields.