오늘은 협업에서 중요한 GitHub 에서 사용되는 Branch 와 Merge 에대해서 알아보려고 한다.
서비스를 운영하는 중 추가 기능을 개발해야 되는 경우가 발생했을때 기존 파일에 새로운 기능을 바로 추가해서 업데이트하는경우 어떻게 될까? 아무 문제 없이 추가기능이 잘 작동하게 되는 경우는 드물것이다. 이럴때 안전장치로 사용할 수 있는게 바로 GitHub의 Branch 이다.
깃으로 버전 관리를 시작하면 기본적으로 'master'라는 브랜치가 만들어지게 된다. 사용자가 커밋할 때마다 master 브랜치는 최신 커밋을 가리키게 되는것이다. 즉, 브랜치는 커밋을 가리키는 포인터와 비슷하다고 생각하면 됩니다.
그럼 새 브랜치를 만들면 어떻게 될까?
새 브랜치를 만들면 기존에 저장한 파일을 master 브랜치에 그대로 유지하면서 기존 파일 내용을 수정하거나 새로운 기능을 구현할 파일을 추가로 만들 수 있다. 이렇게 master 브랜치에서 뻗어 나오는 새 브랜치를 만드는 것을 '분기한다'라고 한다.

새 브랜치에서 원하는 작업을 다 끝냈다면 새 브랜치에 있던 파일을 원래 master 브랜치에 합칠 수도 있어야한다. 이렇게 분기했던 브랜치를 master 브랜치에 합치는 것을 '머지(merge)' 또는 '병합한다'라고 한다.

'내배캠 TIL' 카테고리의 다른 글
| [내배캠 TIL 260105] C++ 일반 포인터와 Unique_ptr (0) | 2026.01.05 |
|---|---|
| [내배캠 TIL 251231] C++ STL Map과 Unordered_map (0) | 2025.12.31 |
| [내배캠 TIL 251229] C++ 디자인 패턴 (옵저버 패턴) (0) | 2025.12.29 |
| [내배캠 TIL 251224] C++ 디자인 패턴 (구조 패턴) (0) | 2025.12.24 |
| [내배캠 TIL 251223] C++ 디자인패턴 (싱글톤 패턴) (0) | 2025.12.23 |