홈 › Git › 02 / 8

브랜치와 병합

섹션 7진행 0 / 8

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 를 씁니다.