728x90
1. 기본 개념
- 브랜치(Branch)는 코드의 독립적인 작업 공간
- 기본적으로 Git 저장소는 main (또는 master)라는 기본 브랜치를 가진다.
- 새로운 기능 개발, 버그 수정, 실험적 시도를 기존 코드와 분리하여 안전하게 진행하는 데 사용
_
2. 주요 특징
- 독립성: 각 브랜치는 다른 브랜치의 영향을 받지 않고 독립적으로 수정 가능
- 히스토리 관리: 각 브랜치는 개별 커밋 히스토리를 가짐
- 협업 강화: 팀원 간 작업 분담 및 코드 검토에 유용
_
3. 주요 브랜치 생성 및 기본 흐름
- 기본 브랜치 (main)
- 주로 배포, 릴리즈 등의 안정된 코드를 관리
- 최종 제품 수준의 코드 보관
- 기능 브랜치 (feature)
- 새로운 기능을 추가하거나, 특정 버그를 수정할 때 사용
- 작업이 완료되면 main 브랜치로 병합(Merge)
- 핫픽스 브랜치 (hotfix)
- 긴급 버그 수정 시 사용하는 브랜치
- 배포된 코드에서 빠르게 수정해야 할 때 사용
- 개발 브랜치 (develop)
- main에서 배포 전 코드를 관리하는 중간 단계
- 여러 기능 브랜치의 병합 테스트 용도
_
4. 브랜치 유형 예시)
기능 추가 | feature/user-auth |
버그 수정 | bugfix/login-error |
긴급 수정 | hotfix/security-patch |
실험 코드 | experiment/new-idea |
문서 수정 | docs/update-readme |
_
5. 브랜치 생성 및 전환 방법 (Git 명령어)
# 1. 브랜치 생성
git branch feature/new-feature
# 2. 브랜치 전환
git checkout feature/new-feature
# 또는 생성과 전환을 동시에
git checkout -b feature/new-feature
# 3. 로컬 브랜치를 원격에 푸시
git push -u origin feature/new-feature
_
6. 브랜치 병합 (Merge)
- Merge: 두 브랜치의 변경 내용을 병합
- Rebase: 두 브랜치의 히스토리를 다시 쌓는 방법
# Merge 방법
git checkout main
git merge feature/new-feature
# Rebase 방법
git checkout feature/new-feature
git rebase main
_
7. 브랜치 삭제
- 작업이 완료된 브랜치는 삭제하여 히스토리를 정리
# 로컬 브랜치 삭제
git branch -d feature/new-feature
# 원격 브랜치 삭제
git push origin --delete feature/new-feature
_
8. GitHub 웹에서 브랜치 관리
- New Branch 버튼으로 브랜치 생성
- PR(Pull Request)로 병합 요청
- 병합 후 불필요한 브랜치 삭제 가능
_
9. 브랜치와 커밋 관계
- Ahead/Behind 관계
- 브랜치 간 커밋 수 차이를 나타내며, 동기화 상태를 보여줌
- Fork와 Pull Request
- 외부 기여자의 브랜치 병합 요청 시 사용
_
10. 브랜치 전략 (Branch Strategy)
> 전략 유형 특징
Git Flow | 기능, 개발, 핫픽스 브랜치를 명확히 구분 |
GitHub Flow | 간단한 main + feature 브랜치 구조 |
Trunk Based Dev | 단일 브랜치를 중심으로 빠르게 배포 |
728x90
반응형
'Contents > GitHub 사용법 공부' 카테고리의 다른 글
[GitHub] 04. 공동작업자 초대 및 수락 방법 (Collaborator 관리) (0) | 2025.04.24 |
---|---|
[GitHub] 03. Repository clone 및 branch(브랜치) 생성 (0) | 2025.04.20 |
[Github] 02. Repository 생성 및 삭제 가이드 (0) | 2025.04.20 |
[Github] 01. Git 개요과 설치, TortoiseGit (0) | 2025.04.20 |
[GitHub] 깃허브 사용법 목차 안내 (0) | 2025.04.20 |