“main” branch is used to avoid naming like “master” and “slaves” branches
“feature branch” for new feature or bug fix
The shift from using the term "master" to "main" in Git and other software development contexts is part of a broader movement to adopt more inclusive and neutral terminology in technology. Here are the key reasons and context behind this change:
Historical Context:
Master-Slave Terminology: The terms "master" and
"slave" have been used in various technical contexts to describe
relationships where one process or device controls another. This terminology is
problematic because it evokes the history of slavery, which is deeply offensive
and inappropriate.
Cultural Sensitivity: Recognising that language reflects
cultural attitudes, the tech community has been moving towards using more
neutral and inclusive terms. This shift aims to create a more welcoming
environment for all individuals, regardless of their background.
Specific to Git
Branching:
Default Branch: In Git, the default branch where development
work starts is traditionally called "master." When new repositories
are created, they start with this branch by default.
Inclusive Language: By renaming the default branch to
"main," the Git community is embracing inclusive language that avoids
connotations associated with oppression and discrimination.
Reasons for the
Change:
1. Inclusivity and Sensitivity:
- Using neutral terms like "main" promotes inclusivity and respect for all developers.
- It acknowledges the impact of language and strives to create a more inclusive community.
2. Industry-Wide Movement:
- Many organizations and projects across the tech industry are adopting similar changes. For example, GitHub changed the default branch name to "main" in October 2020.
- Other terms like "whitelist/blacklist" are also being replaced with "allowlist/blocklist" for similar reasons.
3. Awareness and Education:
- The change raises awareness about the importance of language in shaping culture and attitudes.
- It encourages ongoing reflection on other terms that may need updating to foster a more inclusive environment.