git pull을 취소하는 방법

프로젝트에서 작업하고 git pull를 실행한 후 크게 엉망이 된 것을 깨달은 적이 있습니까? 이제 모든 코드가 원격 저장소에 있던 내용으로 덮어쓰여졌으며 때로는 이것이 원하는 것이 아닐 수도 있습니다. 이와 같은 경우 당황하기 쉽지만 다행스럽게도 코드를 이전 상태로 되돌리고 git pull 를 실행 취소할 수 있는 몇 가지 방법이 있습니다.

먼저 상황을 악화시킬 경우를 대비하여 프로젝트 사본을 만드십시오. 또한 이러한 명령을 사용하면 커밋되지 않은 모든 변경 사항이 손실되므로 백업을 통해 계속하기 전에 해당 항목을 저장할 수 있습니다. 그러면 적어도 현재 가지고 있는 버전을 갖게 됩니다. 이 백업을 완료한 후 모든 커밋 기록 목록을 얻고 싶을 것입니다. git reflog를 실행하여 이 작업을 수행할 수 있습니다.

git reflog


그러면 다음과 같은 목록이 생성됩니다.

648e314 (HEAD -> master, origin/master) HEAD@{0}: commit: Design refresh
b0168ee HEAD@{1}: commit: Minor CSS tweaks
514a02f HEAD@{2}: commit: Fixed extra curly brace
b432ba7 HEAD@{3}: commit: fixed border-radius
a707d13 HEAD@{4}: commit: fixed image border-radius
abf89a3 HEAD@{5}: commit: updated look and feel


되돌리려는 버전을 선택합니다. 예를 들어 '사소한 CSS 조정'으로 되돌리려면 ID b0168ee를 선택합니다. 그런 다음 다음 명령을 실행하여 리포지토리를 해당 버전으로 되돌립니다.

git reset --hard b0168ee


이것은 매우 쉽고 복구할 버전을 제어할 수 있는 많은 권한을 제공합니다. 그러나 이를 수행하는 또 다른 쉬운 방법은 시간을 주는 것입니다. git reflog 를 실행하지 않으려면 분기가 master 라고 가정하고 다음 명령을 실행하여 30분 전의 저장소 버전으로 되돌릴 수 있습니다. 특정 브랜치에서 오랫동안 작업한 경우 상당히 이전으로 되돌아갈 수 있습니다. 이 경우 이전 방법을 사용하는 것이 더 나을 수 있지만 백업이 있으면 괜찮을 것입니다. 😄

git reset --hard master@{"30 minutes ago"}

좋은 웹페이지 즐겨찾기