Git 풀 실행 취소
이 문서에서는 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
명령을 사용하여 리포지토리를 이전 버전으로 되돌릴 수 있습니다. 커밋되지 않은 작업은 보관하세요. 이 명령은 변경 사항도 삭제합니다.
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn