Computer >> 컴퓨터 >  >> 프로그램 작성 >> 프로그램 작성

Undo Git Pull:가이드

git pull 명령을 사용하면 원격 저장소에서 프로젝트에 대한 변경 사항을 검색하고 해당 변경 사항을 로컬 시스템에 다운로드할 수 있습니다. 이 작업은 git reset 명령을 사용하여 취소할 수 있습니다. reset 명령은 저장소를 기록의 이전 지점으로 되돌립니다.

이 가이드에서는 git reset 명령을 사용하여 git pull 작업을 실행 취소하는 방법에 대해 설명합니다. 이 명령을 사용하는 방법을 배우는 데 도움이 되는 예제를 살펴봅니다.

Git Pull:분석

git pull 명령은 로컬 저장소를 원격 저장소와 함께 최신 상태로 가져옵니다.

git pull 명령을 실행하면 Git은 git fetch 명령을 실행하여 원격 저장소에 변경 사항이 있는지 확인합니다. 그런 다음 변경 사항이 있는 경우 fetch 명령이 해당 변경 사항에 대한 메타데이터를 검색합니다.

다음으로 git pull 명령은 git merge를 실행합니다. 이 프로세스는 git fetch 명령으로 발견된 모든 변경 사항을 로컬 시스템에 병합합니다. 즉, git pull을 실행하면 저장소의 로컬 버전이 원격 저장소와 일치하도록 변경됩니다.

Git 끌어오기 실행 취소

git pull 명령을 명시적으로 실행 취소하는 명령은 없습니다. 대안은 저장소를 이전 커밋으로 되돌리는 git reset을 사용하는 것입니다.

우리는 ck-git이라는 프로젝트를 진행하고 있습니다. 협력자가 GitHub에 저장된 프로젝트의 원격 버전에 커밋을 푸시했습니다. 이러한 변경 사항을 검색하고 싶습니다.

이러한 변경 사항을 검색하기 위해 git pull 명령을 사용할 것입니다.

참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.

부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.

git pull

이 명령은 메타데이터를 가져오고 원격 리포지토리에서 로컬 시스템으로 변경 사항을 다운로드했음을 알리는 메시지를 반환합니다.

remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From https://github.com/career-karma-tutorials/ck-git
   77e7fc0..a8336fa  master 	-> origin/master
Updating 77e7fc0..a8336fa
Fast-forward
 README.md | 1 +
 1 file changed, 1 insertion(+)

마스터 브랜치에서 변경된 유일한 파일은 README.md입니다. 이 파일에는 이전 커밋에 없었던 한 줄의 추가 텍스트가 있습니다.

이제 이 작업을 취소하고 싶다고 가정해 보겠습니다. 이 변경 사항을 로컬 리포지토리에 적용할 준비가 되지 않았습니다. 작업을 취소하려면 git reset을 실행해야 합니다.

git reset 명령을 실행하기 전에 이 명령이 리포지토리에 대한 커밋되지 않은 변경 사항을 모두 제거한다는 것을 알아야 합니다. reset 명령을 실행하기 전에 저장하려는 변경 사항을 커밋했는지 확인하십시오.

Git의 마지막 커밋에서 저장소의 이전 상태로 돌아가기 위해 git reset 명령을 실행해 보겠습니다.

git reset 77e7fc0 --hard

이 명령은 저장소를 마지막 커밋의 상태로 되돌립니다.

Unstaged changes after reset:
M    README.md

–hard 플래그는 Git에게 특정 커밋의 코드 내용으로 작업 디렉토리를 변경하고 싶다고 알려줍니다.

또는 HEAD 문을 사용하여 되돌릴 커밋을 지정할 수 있습니다.

git reset HEAD~1 --hard

이 명령문은 저장소를 한 커밋 뒤로 이동합니다. 다음 커밋으로 돌아가기 위해 숫자 1을 변경할 수 있습니다.

README.md 파일은 이제 마지막 커밋 동안의 상태입니다. 커밋되지 않은 git pull 명령을 실행하기 전에 파일을 변경한 경우 해당 변경 사항에 액세스할 수 없습니다. git은 커밋된 변경 사항만 저장하기 때문입니다.

결론

git reset 명령을 사용하여 git pull 작업을 실행 취소할 수 있습니다. git reset 명령은 저장소를 기록의 특정 지점으로 재설정합니다. 커밋하지 않은 git pull을 실행하기 전에 파일을 변경했다면 해당 변경 사항은 사라집니다.

git reset 명령을 실행하기 전에 변경 사항을 커밋했는지 확인하십시오. git reset 명령을 실행하면 커밋되지 않은 변경 사항이 손실됩니다.

이제 전문가처럼 git pull 명령을 실행 취소하는 데 필요한 지식을 얻었습니다!