— git, reset, recovery — 1 min read
Git을 사용하면서 commit을 잘못하거나 merge를 잘못해서 이전 커밋으로 돌아가고 싶은 경우에 사용.
7.7 Git 도구 - Reset 명확히 알고 가기 <= 공식문서에 자세하게 설명되어 있습니다. 이 문서를 정독하면 아래 글을 볼 필요가 없습니다.
Git의 기본적인 HEAD, Index, Working Directory에 대한 이해가 되었다고 가정하고 진행합니다.
git reset --soft
git reset --mixed
(Default)git reset --hard
git log
로 commit number를 확인한 뒤, 돌아가고(복구하고) 싶은 commit number를 입력합니다.
특정 commit으로 되돌리기
1git reset {commit_number}
commit 하나 되돌리기
1git reset HEAD^2git reset HEAD~1
commit 두개 되돌리기
1git reset HEAD^^2git reset HEAD~2
0e99fe1 commit으로 HEAD가 이동한 예제
+
master주의 : 상위 커밋(작업한 내용)이 삭제될 수 있습니다.
이전 커밋으로 되돌릴 경우 상위 커밋(이미 진행한 작업)이 지워질 수 있으므로 에러가 출력될 수 있습니다. push 명령에 브랜치 이름에 +
를 붙이면 강제로 push 할 수 있습니다.