Git
[Git] branch 이해하기
planting grass
2025. 3. 7. 10:11
728x90
branch란?
브랜치는 독립적인 개발을 위해 코드의 한 지점에서 나누어진 분기다.
브랜치를 이해하기 위해서는 아래 내용을 이해해야 한다.
- 분기(branch): main, master 브랜치에서 새로운 브랜치를 만들어 독립적인 작업을 수행
- 병합(merge): 작업이 완료된 브랜치를 main, master 브랜치에 다시 합쳐 변경 사항을 통합
- 동시 작업: 여러 개발자가 동시에 다른 작업을 수행
코드 안정성: main, master 브랜치를 안정적으로 유지하면서 새로운 기능을 개발하거나 버그를 수정
위 그림을 보면 초록생 main, master 브랜치에서 가지마냥 여러 갈래로 뻗어나가는걸 확인할 수 있다.
이처럼 main에서 뻗어나가는게 브랜치라고 생각하면 된다.
branch의 목적
- 기능 개발: 새로운 기능을 기존 코드에 영향을 주지 않고 개발할 수 있음.
- 버그 수정: 긴급한 버그를 빠르게 수정하고 기존 코드와 병합할 수 있음.
- 코드 리뷰 및 협업: 코드 변경 사항을 리뷰 후 병합할 수 있도록 함.
- branch를 병합하려면 pull & request를 거쳐야 하기 때문에 더 나은 코드를 지향할 수 있음
- 안정적인 코드 유지: main 브랜치는 항상 안정적으로 유지하고, 테스트가 끝난 코드만 병합함.
branch의 장점
- 독립적인 개발이 가능
- 여러 기능을 동시에 개발할 수 있어 개발 속도가 빨라짐.
- 코드 충돌을 최소화
- 들이 같은 파일을 수정하더라도 각자의 브랜치에서 작업하여 충돌 위험이 줄어듦.
- 안정적인 코드 유지
- main 브랜치에는 검증된 코드만 포함되므로, 코드 품질을 유지할 수 있음.
- 롤백이 쉬움
- 문제가 생긴 브랜치를 삭제하면 쉽게 원래 상태로 돌아갈 수 있음.
- 협업이 용이함
- GitHub, GitLab 등의 Pull Request(PR) 또는 Merge Request(MR) 기능을 활용해 리뷰를 진행할 수 있음.
브랜치 사용 시 주의할 점
- 너무 많은 브랜치를 만들지 않기
- 필요 이상으로 브랜치를 만들면 관리가 어려워짐.
- 브랜치를 자주 병합(Merge)하기
- 너무 오랜 기간 브랜치를 유지하면 main과 충돌이 심해질 수 있음.
- git merge 또는 git rebase를 활용하여 주기적으로 최신 코드 반영 필요.
- 의미 있는 브랜치 이름 사용하기
- 직관적인 이름을 사용하면 협업이 편리해짐.
병합(Merge) 방식 선택하기
- git merge: 기본적인 병합 방식 (히스토리가 남음)
- git rebase: 깔끔한 히스토리를 유지할 때 사용 (브랜치 히스토리를 하나로 정리)
브랜치 삭제 관리
- 작업이 끝난 브랜치는 git branch -d 브랜치이름으로 정리
- 원격 브랜치 삭제는 git push origin --delete 브랜치이름
사용 예시
명령어 | 설명 |
git branch |
현재 존재하는 브랜치 목록을 확인 |
git branch |
브랜치이름 새로운 브랜치 생성 |
git checkout 브랜치이름 |
새로운 브랜치 생성 브랜치이름 해당 브랜치로 이동 |
git switch 브랜치이름 |
브랜치를 전환(Git 2.23 부터 사용 가능) |
git branch -d 브랜치이름 |
브랜치를 삭제 (병합된 브랜치만 삭제 가능) |
git branch -D 브랜치이름 |
강제 삭제 (병합되지 않은 브랜치도 삭제 가능) |
728x90