깃 풀을 푸는 방법은?
원격 오리진에 대한 원치 않는 커밋 때문에 Git Pull을 취소하고 싶지만, 어떤 리비전으로 재설정해야 하는지 모르겠습니다.
제가 어떻게 원격지에서 git pull을 하기 전에 그냥 주로 돌아갈 수 있습니까?
또는 다른 답변보다 더 명확하게 설명하기 위해:
git pull
으악!
git reset --keep HEAD@{1}
1.7.1 이전 Git 버전에는 다음이 없습니다.--keep이러한 버전을 사용하면 다음을 사용할 수 있습니다.--hard하지만 그것은 지역적 변화를 잃기 때문에 위험한 작업입니다.
ORIG_HEAD는 HEAD의 이전 상태로, 위험한 동작을 할 수 있는 명령에 의해 설정되어 되돌리기 쉽습니다.Git has reflog: HEAD@{1}이(가) 대략 ORIG_HEAD와 동일하므로 유용하지 않습니다(HEAD@{1}은 항상 HEAD의 마지막 값이고 ORIG_HEAD는 위험한 작업 전 HEAD의 마지막 값입니다).
git reflog showHEAD의 역사를 보여드리겠습니다.당신은 그것을 사용하여 당신이 전에 어디에 있었는지 알아낼 수 있습니다.pull그러면 할 수 있습니다.reset당신의.HEAD그 약속까지.
이것은 저에게 효과가 있었습니다.
git reset --hard ORIG_HEAD
병합 또는 끌어오기 실행 취소:
$ git pull (1)
Auto-merging nitfol
CONFLICT (content): Merge conflict in nitfol
Automatic merge failed; fix conflicts and then commit the result.
$ git reset --hard (2)
$ git pull . topic/branch (3)
Updating from 41223... to 13134...
Fast-forward
$ git reset --hard ORIG_HEAD (4)
자세한 내용은 Git에서 HEAD 및 ORIG_HEAD를 확인하십시오.
찾기<SHA#>당신이 가고 싶은 약속을 위해.github에서 찾거나 입력하여 찾을 수 있습니다.git log또는git reflog show명령행에서 다음을 수행합니다.git reset --hard <SHA#>
위의 해결책은 효과가 있지만,이 대답은 Git Pull을 취소하는 대신 시계 반대 방향으로 시간을 되돌리려는 경우에 사용됩니다.내 말은 만약 당신이 정확한 보고서를 원래대로 얻고 싶다면.X이 명령을 실행한 시간(분)
git reset --hard branchName@{"X Minutes ago"}
참고: 실제로 이 명령을 실행하기 전에 이 명령을 사용해 보십시오. 시간이 확실한 경우에만 이 명령을 사용해 보십시오.
저는 현재 지점에 있었습니다.develop새 지점으로 체크아웃하고 다른 지점을 연결하기로 되어 있었습니다. 지점이라고 합시다.A하지만 실수로 도망쳤어요git pull origin A체크아웃 전에
그래서 이 변경을 취소하기 위해 저는 이 명령을 시도했습니다.
git reset --hard develop@{"10 Minutes ago"}
윈도우즈 cmd에 있을 때 다음 오류가 발생하는 경우: 알 수 없는 스위치 'e
다음과 같은 인용문을 추가해 보십시오.
git reset --hard 'develop@{"10 Minutes ago"}'
당김을 풀다
git reset --hard HEAD^
로컬 보고서를 이전 커밋 상태로 되돌립니다.(참고: HEAD^는 현재 분기 팁의 첫 번째 직접 상위 항목을 의미합니다.HEAD^1은 HEAD^1의 줄임말이며, 원하는 경우 더 위쪽으로 이동할 수도 있습니다(예: HEAD^2, HEAD^3...). 재설정 후 일부 알 수 없는 파일(원래 Git Pull의 결과로 도착한 파일)이 남아 있으면 추적되지 않은 파일로 나열되고 다음을 사용하여 정리할 수 있습니다.
git clean -fd
출처: https://git-scm.com/docs/git-reset#Documentation/git-reset.txt-Undoamergeorpullinsideadirtyworkingtree
병합 실행 취소 또는 더티 작업 트리 내부 꺼내기
$ git pull (1) Auto-merging nitfol Merge made by recursive. nitfol | 20 +++++---- ... $ git reset --merge ORIG_HEAD (2)여러분의 인 수정이 , 하게 작업트로수사있안다같게말다수있습니할이라고 말할 수 .
git pull다른 분기의 변경 사항이 해당 분기와 겹치지 않는다는 것을 알고 있는 경우.병합 결과를 검사한 후 다른 분기의 변경 내용이 만족스럽지 않을 수 있습니다. 중입니다.
git reset --hard ORIG_HEAD사용자가 원래 위치로 돌아갈 수는 있지만 사용자가 원하지 않는 로컬 변경사항은 삭제됩니다.git reset --merge로컬 변경사항을 유지합니다.
https://stackoverflow.com/a/30345382/621690 도 참조하십시오.
마스터 분기를 재설정합니다.
git reset --hard origin/master
언급URL : https://stackoverflow.com/questions/5815448/how-to-undo-a-git-pull
'programing' 카테고리의 다른 글
| Bash 스크립트를 실행하지 않고 구문을 확인하려면 어떻게 해야 합니까? (0) | 2023.05.17 |
|---|---|
| jQuery 유효성 검사: 기본 오류 메시지 변경 (0) | 2023.05.17 |
| 에서 콘솔 응용 프로그램의 종료 코드를 지정하려면 어떻게 해야 합니까?NET? (0) | 2023.05.12 |
| ASP에서 DateTime을 특정 형식으로 렌더링하는 방법.NET MVC 3? (0) | 2023.05.12 |
| findOneAndUpdate 및 update의 mongoose 차이 (0) | 2023.05.12 |