브랜치와 병합
5. 자주 하는 실수 (Tip)
❌ 실수 1: 병합 안 된 브랜치를 습관적으로 -D 로 지운다
작업하던 커밋이 통째로 사라집니다. ✅ 먼저 -d 로 시도해 막히면 그때 진짜 필요한지 확인합니다.
❌ 실수 2: 아직도 checkout 으로 브랜치를 옮긴다
checkout 은 브랜치 전환과 파일 복원을 함께 처리해 실수하기 쉽습니다. ✅ 브랜치 이동은 switch, 파일 복원은 restore 로 씁니다.
❌ 실수 3: 지금 어느 브랜치인지 안 보고 병합한다
엉뚱한 브랜치에 합쳐 히스토리가 꼬입니다. ✅ git branch 나 프롬프트로 현재 위치를 항상 확인합니다.
❌ 실수 4: 충돌 마커를 지우지 않고 그대로 커밋한다
<<<<<<< 같은 줄이 코드에 그대로 남아 빌드가 깨집니다. ✅ 커밋 전 git diff --check 로 마커가 남았는지 확인합니다.
❌ 실수 5: 항상 fast-forward 로만 병합해 기능 단위 기록이 사라진다
나중에 어떤 기능이 언제 들어왔는지 추적하기 어렵습니다. ✅ 기능 브랜치는 --no-ff 로 병합 커밋을 남깁니다.
❌ 실수 6: 충돌 해결 후 add 를 잊고 commit 부터 한다
git 이 "아직 해결 안 된 경로가 있다" 며 커밋을 거부합니다. ✅ 파일 수정 다음은 항상 git add, 그다음이 commit 입니다.
❌ 실수 7: --ff-only 없이 merge 했다가 뜻밖의 병합 커밋이 생긴다
자동화 스크립트에서 의도치 않게 병합 커밋이 쌓입니다. ✅ 정확히 fast-forward 만 원하면 --ff-only 를 붙입니다.
❌ 실수 8: 브랜치 이름에 공백이나 한글을 섞는다
일부 스크립트나 CI 도구에서 경로 처리가 깨집니다. ✅ 영문 소문자와 하이픈, 슬래시 접두사만 씁니다.
❌ 실수 9: main 에서 바로 작업하다가 브랜치 나누는 것을 잊는다
되돌릴 방법이 마땅치 않은 채로 커밋이 main 에 쌓입니다. ✅ 작업 시작 전 습관적으로 git switch -c 부터 칩니다.
❌ 실수 10: 이미 커밋된 병합을 merge --abort 로 되돌리려 한다
abort 는 병합 커밋 전에만 되고, 커밋 후에는 아무 일도 하지 않습니다. ✅ 커밋 후 되돌리기는 다음 레슨의 reset·revert 를 씁니다.