프로그래밍/Git

Git에서 이전 커밋으로 돌아가는 방법

끌레도르 2023. 6. 15. 12:59
반응형

Git에서 이전 커밋으로 돌아가는 방법은 여러 가지가 있습니다. 아래는 그 중 가장 많이 사용되는 두 가지 방법입니다.

  1. git reset 명령어 사용:

    git reset 명령어를 사용하면 현재 브랜치의 헤드를 이전 커밋으로 이동시킬 수 있습니다. git reset 명령어는 --soft, --mixed, --hard 세 가지 옵션을 가지고 있습니다.

    예를 들어, 마지막 커밋으로 돌아가려면 다음 명령어를 사용할 수 있습니다:

     git reset --hard HEAD^

    이 명령어는 HEAD를 한 단계 뒤로 이동시킵니다 (^는 "한 단계 이전"을 의미합니다). HEAD는 현재 브랜치의 가장 최근 커밋을 가리키는 참조입니다. 이 명령어를 사용하면 작업 디렉토리와 인덱스도 이전 상태로 되돌아갑니다.

    git reset --hard는 주의해서 사용해야 합니다. 이 명령어를 사용하면 현재 커밋 이후의 모든 변경 사항이 사라집니다. 무엇이 사라지는지 확실하지 않다면 git reset --soft 또는 git reset --mixed를 사용하는 것이 좋습니다.

  2. git revert 명령어 사용:

    git revert 명령어는 이전 커밋의 변경사항을 취소하는 새로운 커밋을 생성합니다. 이 방법은 이전 커밋으로 돌아가되, 그 과정에서 발생한 변경사항의 히스토리를 유지하고 싶을 때 유용합니다.

    예를 들어, 마지막 커밋을 취소하려면 다음 명령어를 사용할 수 있습니다:

     git revert HEAD

    이 명령어를 실행하면 새로운 커밋이 생성되고, 이 커밋은 HEAD 커밋의 변경사항을 취소합니다. 그런 다음 텍스트 에디터가 열리고 커밋 메시지를 작성하도록 요청합니다.

    git revertgit reset와 달리 원본 커밋을 변경하지 않으며, 대신 새로운 커밋을 추가합니다. 이로 인해 모든 변경사항의 히스토리가 유지됩니다.

반응형