source

기본값 롤백 방법 Git

ittop 2023. 8. 20. 12:41
반응형

기본값 롤백 방법 Git

Git에서 베이스가 마음에 들지 않으면 어떻게 롤백합니까?

Git은 리베이스를 위한 드라이 런이 없습니다.기본 재배치를 수행했지만 아직 푸시하지 않은 경우 이전으로 롤백하려면 어떻게 해야 합니까?

reflog를 사용하여 기본 재배치가 시작되기 전에 첫 번째 작업을 찾은 다음 다시 초기화할 수 있습니다. 예를 들어, 다시 초기화할 수 있습니다.

$ git reflog

b710729 HEAD@{0}: rebase: some commit
5ad7c1c HEAD@{1}: rebase: another commit
deafcbf HEAD@{2}: checkout: moving from master to my-branch
...

$ git reset HEAD@{2} --hard

이제 당신은 리베이스가 시작되기 전으로 돌아가야 합니다.

재설정할 올바른 위치를 찾으려면 "기본값"으로 시작하지 않는 맨 위에 가장 가까운 항목을 선택합니다.

업데이트: 댓글 및 기타 답변에 언급된 대로 다음을 사용할 수도 있습니다.ORIG_HEAD재설정 위치를 쉽게 찾을 수 있는 방법:git reset ORIG_HEAD --hard

대안적 접근법

분기에서 기본 재배치만 수행한 경우(즉, 푸시되지 않은 커밋/변경 사항이 없는 경우) 로컬 분기를 삭제할 수 있습니다.git branch -D그런 다음 다시 확인합니다.

$ git checkout my-branch
$ git rebase master
// not happy with the result
$ git checkout master
$ git branch -D my-branch
$ git checkout my-branch

또는 동일한 효과로 원래 분기로 재설정할 수 있습니다.

$ git reset --hard origin/my-branch

푸시되지 않은 다른 커밋이 있는 동안 이 작업을 수행하면 해당 커밋이 손실됩니다.이 경우 위의 reflog 접근 방식을 사용하여 커밋한 reflog 항목으로 다시 이동합니다.

기본 재배치는 이전 상태의 백업을 다음과 같이 유지합니다.ORIG_HEAD.
따라서 다음을 실행하여 마지막 기본 재배치를 되돌릴 수 있습니다.

git reset --hard ORIG_HEAD

언급URL : https://stackoverflow.com/questions/41049711/git-how-to-rollback-a-rebase

반응형