HOWTO · Git

Git 풀 실행 취소

git pull 명령의 효과를 실행 취소하는 다양한 방법.

이 페이지의 내용

이 문서에서는 git pull 명령의 효과를 취소하는 방법을 설명합니다. git pull 명령이 저장소의 파일을 변경했지만 이전 상태로 복원하고 싶은 상황에 처할 수 있습니다.

이 문서는 리포지토리를 되돌리기 위한 단계를 안내합니다.

Git 풀 실행 취소

git pull 명령은 git fetchgit merge Fetch_HEAD 명령을 결합합니다. 원격 저장소에서 변경 사항을 가져와서 현재 로컬 브랜치에 병합합니다.

원격 브랜치 끝에 있는 것이 무엇이든 로컬 브랜치와 병합됩니다.

git log --oneline 명령을 실행하면 원격 저장소의 새 커밋이 표시됩니다. 이 시점에서 저장소는 HEAD에 있습니다.

저장소를 HEAD~1로 롤백해야 합니다. 원격 저장소의 새 커밋에 대한 부모 커밋. 이를 수행하는 방법에는 여러 가지가 있습니다.

아래 그림과 같이 git reset 명령을 사용할 수 있습니다.

$ git reset --hard HEAD~1

git reset --hard 명령은 저장소에서 커밋되지 않은 변경 사항을 버립니다.

상위 커밋의 SHA-1을 사용할 수도 있습니다. 예를 들어 보겠습니다.

다음은 git pull 명령을 실행한 후 저장소의 커밋 기록입니다.

$ git log --oneline
3b65c8e Update README.md
16b997a Update LICENSE.md

SHA-1을 사용하여 상위 커밋으로 이동하려면 다음을 실행합니다.

$ git reset --hard 16b997a

특정 시점으로 재설정할 수도 있습니다. 20분 전에 git pull을 실행했다면 아래 명령을 실행하여 리포지토리의 이전 버전을 복원할 수 있습니다.

$ git reset --hard master@{"20 minutes ago"}

원격 리포지토리에서 변경 사항을 가져온 후 git reset --hard 명령을 사용하여 리포지토리를 이전 버전으로 되돌릴 수 있습니다. 커밋되지 않은 작업은 보관하세요. 이 명령은 변경 사항도 삭제합니다.