Git Branch
✒️ 2025-07-26 20:52 내용 수정
Branch
HEAD가 가리키는 특정 Commit에 대한 포인터
- Git에서 Branch는 독립적으로 작업을 진행할 수 있는 개발 흐름(라인) 을 의미한다.
- 주로 기능 개발, 버그 수정 등 독립된 작업을 위해 새로운 Branch를 생성한다.
- Branch 이동 시엔 Working Directory가 자동으로 전환된다.
주요 용어
| 용어 | 설명 |
|---|---|
HEAD |
현재 작업 Branch |
origin |
원격 저장소의 기본 별칭 |
origin/main |
원격 Branch를 추적하는 로컬 Branch (remote-tracking branch) |
Git origin과 upstream
| 용어 | 뜻 | 비유 |
|---|---|---|
origin |
내가 복제한 원격 저장소 (보통 GitHub의 원본 저장소) | "중앙 도서관 책장" |
upstream |
현재 로컬 Branch가 참조하고 있는 원격 Branch | "책을 반납하거나 새로 받는 책꽂이" |
origin
git clone명령으로 누군가의 저장소를 복제할 때, 그 원본 저장소의 이름을 자동으로origin으로 설정한다.- 즉
origin은 원격 저장소(remote repository)의 이름이다.- 예시에서
origin이라는 이름으로https://github.com/username/repo.git저장소가 연결된다.
- 예시에서
git clone <https://github.com/username/repo.git>
upstream
upstream은 현재 로컬 Branch가 푸시(Push)하거나 풀(Pull)할 때 기준으로 삼는 원격 Branch다.- 예시:
newbranch라는 로컬 Branch가origin이라는 원격 저장소의 newbranch Branch와 연결되고,newbranch의 upstream Branch가 설정됩니다.
git push -u origin newbranch
upstream이 설정되어 있으면 원격 Branch에 자동으로 Push/Pull 동작을 하기 편하다.
git push # 연결된 원격 Branch로 자동 푸시
git pull # 연결된 원격 Branch에서 자동으로 변경사항 받아오기
- 설정이 안 되어 있다면, 매번 orign 정보를 추가해야 한다.
git push origin newbranch
git pull origin newbranch
upstream 확인 명령어
- 현재 Branch의
upstream정보 확인
git branch -vv
- 모든 원격 저장소 확인
git remote -v
Branch 종류
- Main Branch : 기본 Branch로, 안정적이고 production 준비가 된 코드들을 저장한다.
- Project의 기본 버전이다.
- Feature Branch(기능) : 새 기능을 추가할 때 생성하는 Branch다.
- 작업이 완료되면 Develop Branch나 Main Branch에 병합(Merge) 한다.
- Develop Branch(개발) : Main Branch에 새 기능을 추가하기 전 모든 기능을 묶을 때 사용하는 개발 및 테스트용 Branch다.
- Hotfix Branch : production에서 급하게 수정해야 하는 이슈를 관리하는 Branch다.
- 문제 수정 후엔 Main Branch에 병합(Merge)한다.
- Release Branch : 새 버전 출시를 준비할 때 사용하는 Branch다.
- 최종 테스트와 약간의 수정 사항들을 관리한 후 Main Branch에 병합(Merge)한다.
- Bugfix Branch : 특정 버그를 관리할 때 사용하는 Branch다.
- 버그가 수정되면 Develop Branch나 Main Branch에 병합(Merge)한다.
Branch 이름 규칙 예시
feature/기능이름: 새로운 기능 개발bugfix/버그이름: 버그 수정hotfix/긴급수정: 긴급 수정release/버전: 배포 준비
git branch feature/login
git branch bugfix/auth