Git 저장소를 특정 커밋으로 전환하는 방법
Git 저장소에서 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개의 커밋 없이 분기를 생성하려면 어떻게 해야 합니까(비트 로그에서 해당 커밋의 SHA가 있다고 가정)?
새 분기(로컬)를 작성하는 방법
커밋 해시(또는 일부) 포함
git checkout -b new_branch 6e559cb
또는 HEAD의 커밋 4개를 되돌리는 것.
git checkout -b new_branch HEAD~4
새 분기가 로컬로 생성되면 동일한 이름의 원격에서 이 변경 사항을 복제할 수 있습니다.변경 사항을 원격 분기로 푸시하는 방법
마지막 3개의 커밋을 삭제하려면 아래 루나리오른의 답변을 참조하십시오.
새 분기를 만들지 않고 현재 분기 HEAD를 지정된 커밋으로 이동하려면 아래 Arpiagar의 답변을 참조하십시오.
위의 모든 명령어는 새 분기를 생성하고 명령어에 지정된 최신 커밋을 사용합니다. 그러나 현재 분기를 원할 경우HEAD
지정된 커밋으로 이동하려면 다음 명령을 사용합니다.
git checkout <commit_hash>
그것은 분리하고 그것을 가리킵니다.HEAD
지정된 커밋을 수행하고 사용자가 분기 상태를 보려는 경우 새 분기를 만드는 것부터 해당 특정 커밋까지 저장합니다.
그런 다음 최신 커밋으로 돌아가서 분리된 HEAD를 수정할 수 있습니다.
최근 4개의 커밋을 삭제하려면 다음을 사용합니다.
git reset --hard HEAD^^^^
또는 재설정할 커밋의 해시를 다음으로 지정할 수 있습니다.
git reset --hard 6e559cb
새 지점을 시작하려는 커밋을 확인하고 새 지점을 만듭니다.
git checkout -b newbranch 6e559cb95
분기에서 이전 4개의 커밋을 로컬로 롤백하려면 어떻게 해야 합니까?
즉, 새 분기를 만들지 않고 분리된 상태로 전환됩니다.새로운 방법은 다음과 같습니다.
git switch --detach revison
새 git switch 명령을 사용하면 다음 중 하나를 수행할 수 있습니다.
git switch -c <new-branch> <commit>
라는 새 분기를 만듭니다.<new-branch>
에서 시작하여<commit>
git switch --detach <commit>
검사 및 폐기 가능한 실험에 대한 커밋으로 전환합니다.자세한 내용은 분리 헤드를 참조하십시오.
언급URL : https://stackoverflow.com/questions/4940054/how-can-i-switch-my-git-repository-to-a-particular-commit
'programing' 카테고리의 다른 글
특정 포트를 확인하기 위한 명령줄 (0) | 2023.05.29 |
---|---|
컴파일러/J에 제공할 수 있는 최적화 힌트는 무엇입니까?IT? (0) | 2023.05.29 |
gitc fatal: 불량 객체 refs/remote/origin/HEAD 오류를 처리하는 방법? (0) | 2023.05.29 |
bash if/else 문 안에서 파일 grep 비교를 사용하려면 어떻게 해야 합니까? (0) | 2023.05.29 |
문자열에 목록의 요소가 포함되어 있는지 확인합니다. (0) | 2023.05.29 |