programing

깃 풀을 푸는 방법은?

iphone6s 2023. 5. 12. 21:43
반응형

깃 풀을 푸는 방법은?

원격 오리진에 대한 원치 않는 커밋 때문에 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에서 HEADORIG_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

반응형