Definition
Plain language
A holding line where proposed code changes wait to be tested together before being added to the main project.
As stated in the literature
A software-engineering mechanism that batches pending changes, builds them jointly, and bisects a failing batch to reject the breaking commit while landing the good ones.
Why it matters: It keeps a shared codebase from breaking when many people contribute at once, letting a project absorb lots of changes safely.
For example, several developers' changes line up, get tested together as a batch, and only the ones that pass get added to the main code.