====== Branch ======
**Branch**(브랜치)는 Git에서 독립적인 개발 라인을 만들어 병렬로 작업할 수 있게 해주는 기능입니다.
===== 📖 정의 =====
Branch는 특정 커밋을 가리키는 포인터로, 메인 개발 라인에서 분기하여 새로운 기능을 개발하거나 실험을 할 수 있게 해줍니다. Git의 브랜치는 매우 가볍고 빠르게 생성할 수 있어 자유롭게 사용할 수 있습니다.
===== 🌿 브랜치 유형 =====
==== 메인 브랜치 ====
* ''main'' (또는 ''master''): 기본 브랜치
* 배포 가능한 안정적인 코드
* 항상 존재하는 브랜치
==== 기능 브랜치 ====
* ''feature/new-login'': 새로운 기능 개발
* 임시적으로 생성
* 완료 후 메인 브랜치에 병합
==== 수정 브랜치 ====
* ''hotfix/security-patch'': 긴급 수정
* ''bugfix/login-error'': 버그 수정
===== 🚀 기본 명령어 =====
# 브랜치 목록 확인
git branch
# 새 브랜치 생성
git branch feature-branch
# 브랜치 생성과 동시에 전환
git checkout -b feature-branch
# 브랜치 전환
git checkout feature-branch
# 브랜치 삭제
git branch -d feature-branch
# 원격 브랜치 확인
git branch -r
===== 🔄 브랜치 워크플로우 =====
==== 기본 워크플로우 ====
1. main 브랜치에서 시작
2. feature 브랜치 생성
3. 기능 개발 및 커밋
4. main 브랜치로 병합
5. feature 브랜치 삭제
==== Git Flow ====
main ──────●──────●──────●
│ │ │
develop ───●──●───●──●───●
│ │
feature ──────●─────●
===== 🎯 브랜치 전략 =====
==== GitHub Flow ====
* 간단한 워크플로우
* main 브랜치만 사용
* Pull Request로 병합
==== Git Flow ====
* 복잡한 워크플로우
* main, develop, feature, release, hotfix
* 대규모 프로젝트에 적합
===== 🔗 관련 용어 =====
* [[wiki:glossary:development_tools:git:git|Git]] - 버전 관리 시스템
* [[wiki:glossary:development_tools:git:commit|Commit]] - 커밋
* [[wiki:glossary:development_tools:git:merge|Merge]] - 병합
* [[wiki:glossary:development_tools:git:repository|Repository]] - 저장소
===== 📚 관련 문서 =====
* [[wiki:it:github:branch_management|브랜치 관리]]
* [[wiki:it:github:basic_commands|기본 Git 명령어]]
----
**카테고리:** [[wiki:glossary:start|용어집]] | **관련 기술:** Git, 버전 관리