HOWTO · Git
Git 풀 실행 취소
git pull 명령의 효과를 실행 취소하는 다양한 방법.
이 페이지의 내용
이 문서에서는 git pull 명령의 효과를 취소하는 방법을 설명합니다. git pull 명령이 저장소의 파일을 변경했지만 이전 상태로 복원하고 싶은 상황에 처할 수 있습니다.
이 문서는 리포지토리를 되돌리기 위한 단계를 안내합니다.
Git 풀 실행 취소
git pull 명령은 git fetch 및 git 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 명령을 사용하여 리포지토리를 이전 버전으로 되돌릴 수 있습니다. 커밋되지 않은 작업은 보관하세요. 이 명령은 변경 사항도 삭제합니다.