본문으로 건너뛰기

git branch ​

용도 ​

브랜치를 나열하고 정리한다. 현재 브랜치에는 *가 붙는다. 새 브랜치를 만들어 이동하는 일은 git switch -c가 맡고, git branch는 이름 변경과 병합이 끝난 브랜치 삭제에 쓴다.

자주 쓰는 옵션 ​

옵션의미기본 동작
(없음)로컬 브랜치 목록 출력현재 브랜치에 *
-m main현재 브랜치 이름 변경같은 이름이 있으면 거절
-M main현재 브랜치 이름 강제 변경같은 이름이 있어도 덮어쓸 수 있음
-d 이름병합이 끝난 브랜치 삭제병합 전이면 not fully merged로 거절
-D 이름병합 여부와 관계없이 강제 삭제수업에서 쓰지 않는다

예시 ​

bash
git branch
git branch -M main
git branch -d feature/profile-design

세 번째 줄은 STEP 11에서 병합을 마친 뒤에만 성공한다. 병합 전에는 Git이 삭제를 거절한다.

주의할 점 ​

  • 이름 변경은 커밋 내용과 원격 브랜치를 바꾸지 않는다. 이미 main이 있는지 확인한 뒤 변경한다.
  • -d가 거절되면 아직 병합되지 않은 커밋이 있다는 뜻이다. -D로 강제하지 말고 병합을 먼저 끝낸다.
  • 브랜치 이름에는 feature/, fix/처럼 목적을 붙이고 공백을 쓰지 않는다.
  • 원격의 같은 이름 브랜치는 로컬 삭제로 지워지지 않는다. GitHub 웹에서 Pull Request 병합 뒤 삭제한다.

공식 문서