Skip to content

Commit

Permalink
2024-12-13_Git_branch_main과_master
Browse files Browse the repository at this point in the history
  • Loading branch information
devnine-codes committed Dec 15, 2024
1 parent bd75c0d commit 2baef29
Showing 1 changed file with 75 additions and 0 deletions.
75 changes: 75 additions & 0 deletions 2024/12/2024-12-13_Git_branch_main과_master/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# Git 브랜치 이름: main과 master에 대해

오늘은 Git에서 사용하는 기본 브랜치 이름인 **main****master**의 차이, 그 배경, 그리고 실무에서 이를 어떻게 다뤄야 할지에 대해 이야기해보려고 한다.
예전에는 Git 저장소를 초기화하면 기본 브랜치가 항상 **master**였다. 하지만 최근 몇 년 동안 **main**이라는 이름이 새로운 표준으로 자리 잡았다.

---

## main과 master의 차이: 왜 이름이 바뀌었을까?

### 1. **포괄성과 다양성의 추구**
'master'라는 용어는 과거의 특정 사회적, 문화적 맥락에서 논란의 여지가 있었다. 소프트웨어 커뮤니티는 더 inclusive(포괄적인)한 언어 사용을 지향하면서, 중립적이고 명확한 대안으로 **main**을 선택했다.

### 2. **의미의 명확성**
'master'는 저장소의 "중심이 되는 브랜치"를 나타내지만, 그 의미가 직관적이지 않다는 의견이 많았다. 반면, 'main'은 말 그대로 "주요 브랜치"를 의미하므로, 저장소의 핵심 브랜치라는 점을 더 명확히 전달한다.

### 3. **표준화된 접근**
GitHub와 GitLab 같은 플랫폼은 새로운 저장소를 생성할 때 기본 브랜치를 **main**으로 설정하고 있다. 이러한 플랫폼의 변화로 인해, **main**이 업계 표준으로 자리 잡아가고 있다.

---

## 기존 저장소의 기본 브랜치를 main으로 변경하기

기존 프로젝트에서 기본 브랜치를 **master**에서 **main**으로 변경하려면 몇 가지 단계를 거쳐야 한다.

1. **로컬 브랜치 이름 변경**
로컬 저장소에서 기본 브랜치 이름을 변경한다.
```bash
git branch -m master main
```

2. **변경된 브랜치 원격 저장소로 업로드**
```bash
git push -u origin main
```

3. **원격 저장소에서 기본 브랜치 변경**
GitHub 저장소의 Settings > Branches 섹션에서 Default Branch를 **main**으로 변경한다.

4. **불필요한 브랜치 삭제**
```bash
git push origin --delete master
```

5. **CI/CD 및 문서 업데이트**
파이프라인 설정, README 파일 등에 있는 **master** 브랜치 관련 내용을 **main**으로 변경한다.

---

## main과 master: 어떤 이름을 선택할까?

### 새로운 프로젝트에서는?
새로운 프로젝트를 생성한다면, 별도의 설정 없이 기본 브랜치로 **main**을 사용하는 것이 권장된다. 이는 다른 개발자나 팀과의 협업에서도 표준화된 경험을 제공한다.

### 기존 프로젝트에서는?
기존 프로젝트에서 **master**를 사용 중이라면, 변경 여부는 상황에 따라 다르다.
특히, **CI/CD 파이프라인**, **배포 스크립트**, **자동화 작업** 등이 **master**에 맞춰져 있다면, 이를 수정하는 데 드는 비용과 시간을 고려해야 한다.

---

## 주의사항과 팀 협업

- **팀원의 동의**
브랜치 이름을 변경하는 것은 협업에 영향을 미칠 수 있다. 변경 이유와 절차를 충분히 설명하고, 팀원들과 합의하는 것이 중요하다.

- **문서화 업데이트**
프로젝트 문서에서 **master**를 언급한 부분을 모두 **main**으로 수정해야 한다. 특히, README.md와 CONTRIBUTING.md 같은 문서가 대상이 될 수 있다.

---

## 결론

Git 브랜치 이름 변경은 단순한 작업처럼 보일 수 있지만, 개발 문화와 협업 방식의 변화와 깊은 관련이 있다. **main****master**라는 이름의 차이는 결국 저장소 관리 방식에서 의미 있는 진화를 보여준다.
새로운 프로젝트에서는 **main**을 사용하는 것이 점점 더 보편화되고 있지만, 기존 프로젝트의 **master** 브랜치를 유지하는 것도 충분히 합리적인 선택이다.

가장 중요한 것은 이름의 변경보다, 브랜치를 어떻게 관리하고 협업을 효율적으로 이끌어가는가에 있다. 팀과의 논의를 통해 최적의 선택을 하고, Git 브랜치의 이름보다 더 중요한 협업과 코드 품질에 집중하자.

0 comments on commit 2baef29

Please sign in to comment.