반응형
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
반응형
'IT' 카테고리의 다른 글
JavaScript에는 stringbuilder 클래스가 내장되어 있습니까? (0) | 2020.05.31 |
---|---|
문자열에서 모든 공백을 제거하는 방법 (0) | 2020.05.31 |
Mockito-doReturn ()과 when ()의 차이점 (0) | 2020.05.31 |
WebService에 대한 jQuery 호출이 "전송 없음"오류를 반환 함 (0) | 2020.05.31 |
Django 1.7에서 django.core.exceptions.AppRegistryNotReady가 발생 함 : 모델이 아직로드되지 않았습니다 (0) | 2020.05.31 |