Git에서 이전 커밋으로 돌아가는 방법
Git에서 이전 커밋으로 돌아가는 방법은 여러 가지가 있습니다. 아래는 그 중 가장 많이 사용되는 두 가지 방법입니다.
git reset
명령어 사용:git reset
명령어를 사용하면 현재 브랜치의 헤드를 이전 커밋으로 이동시킬 수 있습니다.git reset
명령어는--soft
,--mixed
,--hard
세 가지 옵션을 가지고 있습니다.예를 들어, 마지막 커밋으로 돌아가려면 다음 명령어를 사용할 수 있습니다:
git reset --hard HEAD^
이 명령어는 HEAD를 한 단계 뒤로 이동시킵니다 (
^
는 "한 단계 이전"을 의미합니다). HEAD는 현재 브랜치의 가장 최근 커밋을 가리키는 참조입니다. 이 명령어를 사용하면 작업 디렉토리와 인덱스도 이전 상태로 되돌아갑니다.git reset --hard
는 주의해서 사용해야 합니다. 이 명령어를 사용하면 현재 커밋 이후의 모든 변경 사항이 사라집니다. 무엇이 사라지는지 확실하지 않다면git reset --soft
또는git reset --mixed
를 사용하는 것이 좋습니다.git revert
명령어 사용:git revert
명령어는 이전 커밋의 변경사항을 취소하는 새로운 커밋을 생성합니다. 이 방법은 이전 커밋으로 돌아가되, 그 과정에서 발생한 변경사항의 히스토리를 유지하고 싶을 때 유용합니다.예를 들어, 마지막 커밋을 취소하려면 다음 명령어를 사용할 수 있습니다:
git revert HEAD
이 명령어를 실행하면 새로운 커밋이 생성되고, 이 커밋은 HEAD 커밋의 변경사항을 취소합니다. 그런 다음 텍스트 에디터가 열리고 커밋 메시지를 작성하도록 요청합니다.
git revert
는git reset
와 달리 원본 커밋을 변경하지 않으며, 대신 새로운 커밋을 추가합니다. 이로 인해 모든 변경사항의 히스토리가 유지됩니다.