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.