홈 › Git › 08 / 8

문제 해결

섹션 7진행 0 / 8

문제 해결 — detached HEAD·잘못 올린 커밋·큰 파일·bisect·blame 으로 사고 수습하기

git 을 쓰다 보면 반드시 사고가 납니다. 커밋(commit)이 붙을 곳 없이 떠버리거나, 엉뚱한 브랜치(branch)에 커밋하거나, 비밀번호를 실수로 올리거나, 저장소가 갑자기 무거워집니다. 이 레슨은 증상을 보고 원인과 명령을 바로 찾는 법, 그리고 bisect·blame·log -S 로 "언제 왜 이렇게 됐는지" 추적하는 법을 다룹니다.

1. 왜 배우는가

사고는 실력과 상관없이 일어납니다. 중요한 것은 당황하지 않고 증상에 맞는 명령을 아는 것입니다. git 은 대부분의 사고를 되돌릴 수 있게 설계됐지만, 명령을 잘못 고르면 복구가 더 어려워집니다.

이 레슨은 여섯 가지 흔한 사고와 다섯 가지 추적 도구를 다룹니다. 되돌리기 명령 자체(restore·reset·revert·stash)는 레슨 03 에서 이미 배웠으므로, 여기서는 그 명령들을 실제 사고 상황에 적용하는 절차에 집중합니다.

마지막 원칙은 하나입니다. 실수를 알아챈 순간 가장 먼저 할 일은 명령을 더 치는 것이 아니라 git reflog 와 git status 로 지금 상태부터 확인하는 것입니다. 예제는 실제로 사고 상황을 만들고 복구까지 실행한 결과입니다.