GIT의 master와 main 차이

2025. 12. 15. 12:39Git/Git 기초

master와 main은 Git의 기본 브랜치 이름(default branch name) 의 차이입니다.
👉 기능적인 차이는 전혀 없고, 명명 관습이 변경된 것입니다.


🧭 1. 배경 설명

🔹 과거: master

  • Git이 처음 만들어졌을 때(2005년경)부터 기본 브랜치 이름은 master였다.
  • 새로운 Git 저장소를 생성하면 자동으로 master 브랜치가 만들어졌다.
  • 오랫동안 사실상의 표준(default) 브랜치 이름으로 사용되었다.

🔹 현재: main

  • 2020년, GitHub를 중심으로 오픈소스 커뮤니티에서
    master라는 단어가 노예제(master/slave) 를 연상시킨다는 이유로
    포용적 언어(Inclusive Language) 를 사용하자는 움직임이 확산되었다.
  • 이후 GitHub, GitLab, Bitbucket 등 주요 플랫폼이
    기본 브랜치 이름을 main으로 변경하였다.
  • Git 2.28(2020년 7월) 이후부터는
    사용자가 기본 브랜치 이름을 직접 설정할 수 있게 되었다.

⚙️ 2. 실제 차이점 요약

👉 즉, 이름만 다를 뿐 내부 동작은 완전히 같다.


💡 3. 브랜치 이름 변경 방법 (master → main)

기존 저장소의 master 브랜치를 main으로 변경하려면 다음 순서로 진행한다.

① 로컬 브랜치 이름 변경

git branch -m master main

② 변경된 브랜치를 원격 저장소로 Push

git push -u origin main
  • -u 옵션으로 upstream 브랜치를 설정하면
    이후 git push, git pull 명령을 간단히 사용할 수 있다.

③ GitHub에서 기본 브랜치 변경 (필수)

  • GitHub 웹 페이지 이동
  • Settings → Branches → Default branch
  • 기본 브랜치를 main으로 변경

④ 기존 master 브랜치 삭제 (선택 사항)

git push origin --delete master

⚠️ 이미 협업 중인 프로젝트라면
팀원들과 반드시 합의 후 삭제해야 한다.


🚀 4. 결론 정리

  • master와 main은 기능적으로 완전히 동일하다.
  • 차이는 기술이 아닌 명명 관습의 변화다.
  • 권장 방식:
    • 새 프로젝트 → main
    • 기존 프로젝트 → master 그대로 사용해도 문제 없음

👉 중요한 것은 브랜치 이름이 아니라 협업 규칙의 일관성이다.


📘 참고

  • GitHub 공식 발표 — 기본 브랜치 이름 변경
  • Git 2.28 Release Notes