화면 설정
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 병합 뒤 삭제한다.
