DEV Community

Cover image for Make master Branch Default Again
David Paluy
David Paluy

Posted on

Make master Branch Default Again

I didn't follow the trend of changing my default branch from master to main. It doesn't make any sense to spend my resources reconfiguring my settings.
Also, DHH agreed that it was a classic exploit of good faith.

Historical Context: The Master Craftsman Tradition

The term "master" has a rich history in European guild systems and skilled trades dating back centuries. A master craftsman (or "Meister" in German-speaking regions) was someone who had achieved the highest level of skill and expertise in their trade. This usage derives from the Latin "magister," meaning "teacher" or "chief."

  • Apprentices would study under a master to learn their craft
  • Becoming a master required years of study and the creation of a "masterpiece"
  • Masters were teachers and guardians of quality standards
  • The title "Master" indicated expertise and teaching authority, not ownership

Git's Usage of "Master"

When Git was developed, the term "master" was chosen for the default branch to indicate it as the authoritative version of the code - the version from which all other branches derive their work. This usage aligns with:

  • Master recordings in audio production (the final, authoritative mix)
  • Master copies in publishing (the definitive version)
  • Master's degrees in academia (advanced level of subject expertise)

Technical Benefits of "Master"

  1. Widely Recognized: The term is universally understood in version control systems
  2. Tool Compatibility: Many CI/CD tools and scripts expect "master" as the default
  3. Clear Meaning: Instantly communicates which branch is authoritative
  4. Historical Continuity: Maintains compatibility with existing documentation and workflows

Github Update

Personal Settings

  1. Visit: https://github.com/settings/repositories
  2. Set the default repository branch to: master

Repository Default Branch in Github

Organization Account

  1. Go to Organization settings of your repository: https://github.com/organizations/[ORGANIZATION]/settings/repository-defaults
  2. Set the default repository branch to: master

Remember: Good version control is about maintaining a clear, authoritative source of truth for your code. The name should serve this purpose first and foremost.

Top comments (1)

Collapse
 
waelsafa profile image
waelsafa

it's just a branch name, get over it.