A to Z
Glossary
Every concept in this sheet, plus the smaller terms it uses. Select a concept to open its card.
C
- CLA and DCO
- Agreements some projects require before merging.
- Code of conduct
- A document setting expected behaviour in a project's spaces and how to report problems.
- Contributing guide
- A file, usually
CONTRIBUTING.md, explaining how to set up the project, which issues to pick, coding style, tests to run, commit rules and how pull requests are reviewed. - Conventional Commits
- A commit message convention with a type prefix such as
feat:,fix:ordocs:, an optional scope, andBREAKING CHANGEfor incompatible changes. - Copyleft licence
- A licence requiring that modified versions you distribute are shared under the same licence.
E
- Everyday Git commands
- The commands used constantly while contributing:
status,diff,add -p,stash,log --onelineandrestore.
F
- Feature branch
- A short-lived branch created from the latest upstream main for one change, named after what it does.
- Fork
- Your own copy of someone else's repository on GitHub, where you can push branches without write access to the original.
G
- Good commit message
- A short imperative subject line of about 50 characters, a blank line, then a body explaining what changed and why.
K
- Keeping a fork in sync
- Bringing new commits from upstream into your fork and branches, by fetching upstream and rebasing or merging.
M
- Maintainers
- The people who review and merge changes, triage issues, cut releases and set a project's direction.
- Merge conflict
- When Git cannot combine changes automatically because two commits edited the same lines, and it marks the file for you to resolve by hand.
O
- Open source licence
- The legal terms that let anyone use, change and share a project's code.
- Origin and upstream
- Conventional remote names:
originpoints to your fork,upstreampoints to the original project you forked from.
P
- Permissive licence
- A licence that allows almost any use, including in closed source products, as long as you keep the copyright notice.
- Project governance
- How a project makes decisions: a single lead (sometimes called a BDFL), a core team or steering committee, or a foundation such as the Apache Software Foundation, CNCF or Linux Foundation.
R
- Rebase
- Replaying your branch's commits on top of a newer base, such as the latest upstream main, which rewrites their history.
S
- Squashing and force-pushing
- Combining several commits into one, for example with interactive rebase, then updating your remote branch with a force push because history changed.
W
- Why people contribute
- Common reasons include fixing a bug that affects you, learning from experienced reviewers, building a public track record, and companies maintaining software they depend on.