브랜치
- 독립적으로 어떤 작업을 진행하기 위한 개념
- 분리된 작업 영역(브랜치)에서 변경된 내용들은 다른 브랜치와 병합(Merge)함으로써 다시 새로운 하나의 브랜치로 모을 수 있음
1. 장점
- 한 소스코드에서 동시에 다양한 작업을 할 수 있음
- 소스코드의 한 시점과 동일한 상태를 만들고, 브랜치를 넘나들며 작업을 수행할 수 있음
- 각각의 브랜치에서 생긴 변화가 다른 브랜치에 영향을 주지 않고 독립적으로 코딩을 진행할 수 있음
2. 종류
1) 통합 브랜치 (Integration Branch)
- 배포될 소스 코드가 기록되는 브랜치
- Github Repository를 생성하게 되면 기본적으로 main 브랜치가 생김
- 해당 프로젝트의 모든 기능이 정상적으로 작동하는 상태의 소스코드가 담겨 있음
2) 피처 브랜치 (Feature Branch)
- 기능 추가, 버그 수정과 같이 단위 작업을 위한 브랜치
- 통합 브랜치로부터 만들어내며, 피처 브랜치에서 하나의 작업이 완료가 되면 다시 통합 브랜치에 병합하는 방식으로 진행
*토픽 브랜치라고도 함
3. 명령어
1) 새로운 브랜치 생성
git branch
새로운-브랜치-이름
2) 새로운 브랜치 생성 후 해당 브랜치로 전환
git switch -c
새로운-브랜치-이름
git checkout -b
새로운-브랜치-이름
3) 브랜치 목록 확인
git branch
4) 브랜치 목록과 각 브랜치의 최근 커밋 확인
git branch -v
5) 브랜치 삭제
git branch -d
삭제할-브랜치-이름
6) 브랜치 전환
git switch
브랜치-이름
git checkout
브랜치-이름
7) 브랜치 병합
git checkout master
git merge dev
- master 브랜치로 dev 브랜치를 병합할 때 (master ← dev)
8) 로그에 모든 브랜치를 그래프로 표현
git log --branches --graph --decorate
9) 아직 commit 하지 않은 작업을 스택에 임시로 저장
git stash