IT

git 저장소를 특정 커밋으로 전환하는 방법

lottoking 2020. 5. 31. 10:32
반응형

git 저장소를 특정 커밋으로 전환하는 방법


내 자식 저장소에서 다음과 같이 내 자식 로그에 5 개의 커밋을 만들었습니다.

commit 4f8b120cdafecc5144d7cdae472c36ec80315fdc
Author: Michael 
Date:   Fri Feb 4 15:26:38 2011 -0800

commit b688d46f55db1bc304f7f689a065331fc1715079
Author: Michael
Date:   Mon Jan 31 10:37:42 2011 -0800

commit b364f9dcec3b0d52666c4f03eb5f6efb7e1e7bda
Author: Michael
Date:   Wed Jan 26 13:33:17 2011 -0800

commit 4771e26619b9acba3f059b491c6c6d70115e696c
Author: Michael 
Date:   Wed Jan 26 11:16:51 2011 -0800

commit 6e559cb951b9bfa14243b925c1972a1bd2586d59
Author: Michael 
Date:   Fri Jan 21 11:42:27 2011 -0800

이전 4 개의 커밋을 지점에서 로컬로 롤백하려면 어떻게해야합니까? 즉, 최신 4 개의 커밋없이 분기를 만들 수 있습니까 (git 로그에서 해당 커밋의 SHA가 있다고 가정)?


로컬로 새 분기를 만들려면

  • 커밋 해시 (또는 그 일부)

    git checkout -b new_branch 6e559cb
    
  • 또는 HEAD에서 4 커밋으로 돌아가려면

    git checkout -b new_branch HEAD~4
    

새 분기가 로컬로 생성되면 동일한 이름의 원격에서이 변경 사항을 복제 할 수 있습니다. 변경 내용을 원격 분기로 푸시하는 방법


대한 마지막 세 개의 커밋을 폐기 , 참조 아래 Lunaryorn의 답변을 .


들어 (가) 새로운 지점을 만들지 않고 커밋 지정에 현재 브랜치 헤드를 이동 , 참조 아래 Arpiagar의 답변을 .


위의 모든 명령은 새 분기를 작성하고 최신 커밋은 명령에 지정된 커밋이지만 현재 분기 HEAD가 지정된 커밋으로 이동하려는 경우 아래에 명령이 있습니다.

 git checkout <commit_hash>

그것은 분리 와 커밋 지정된에 머리를 가리 사용자가 단지 특정 커밋까지 분기의 상태를 확인하고자 할 때 새로운 지점을 만들 수 절약 할 수 있습니다.


그런 다음 최신 커밋으로 돌아가서 분리 된 HEAD를 수정하십시오.

힘내 분리 헤드를 수정?


최신 네 가지 커밋을 버리고 싶다면 다음을 사용하십시오.

git reset --hard HEAD^^^^

또는 재설정하려는 커밋의 해시를 지정할 수 있습니다.

git reset --hard 6e559cb

새로운 브랜치를 시작하고 싶은 커밋을 체크 아웃하고 새로운 브랜치를 생성하십시오.

git checkout -b newbranch 6e559cb95

참고 URL : https://stackoverflow.com/questions/4940054/how-can-i-switch-my-git-repository-to-a-particular-commit

반응형