master branch

In version control systems like Git, the "master branch" was historically the default name for the primary line of development in a software repository. It represents the authoritative version of the code from which feature branches diverge and eventually merge back into. The terminology is generally believed to derive from the concept of a "master recording" or "master copy" used in media production, though it sits within a broader history of computing metaphors that frequently utilized "master/slave" terminology to describe control hierarchies in hardware and software.

The term has become a subject of significant debate regarding inclusive language in technology. Critics argue that the word "master" is inextricably linked to the history of chattel slavery, and that removing it helps create a more welcoming environment for Black developers and underrepresented groups. This perspective led major platforms like GitHub and the Git project itself to shift their default terminology to "main." Conversely, some developers argue that because Git does not use a corresponding "slave" branch, the term refers strictly to a "master copy," and that changing established technical standards creates unnecessary friction, breaks legacy scripts, and confuses documentation without addressing systemic social issues.

Example:
"Before we deploy the hotfix, we need to ensure the master branch is up to date with the latest changes."

Example:
"The engineering director sent a memo explaining why the company would be migrating all repositories from using a master branch to a main branch."

45%
Tap for details

Top Explanations

Alternatives

Loading alternatives...