programing

Git 병합 롤백

lastcode 2023. 5. 2. 22:42
반응형

Git 병합 롤백

develop branch
--> dashboard (working branch)

사용합니다git merge --no-ff develop업스트림 변경 사항을 대시보드에 병합

Git 로그:

commit 88113a64a21bf8a51409ee2a1321442fd08db705
Merge: 981bc20 888a557
Author: XXXX <>
Date:   Mon Jul 30 08:16:46 2012 -0500

    Merge branch 'develop' into dashboard

commit 888a5572428a372f15a52106b8d74ff910493f01
Author: root <root@magneto.giveforward.com>
Date:   Sun Jul 29 10:49:21 2012 -0500

    fixed end date edit display to have leading 0

commit 167ad941726c876349bfa445873bdcd475eb8cd8
Author: XXXX <>
Date:   Sun Jul 29 09:13:24 2012 -0500

병합에는 약 50개 이상의 커밋이 포함되어 있으며 대시보드가 사전 병합 상태로 돌아가도록 병합을 되돌리는 방법이 궁금합니다.

두 번째 부분은, 만약 내가 합병하지 않는다면.--no-ff'지점을 대시보드에 'develop' 병합'이라는 커밋이 표시되지 않습니다.병합을 되돌리려면 어떻게 해야 합니까?

병합 커밋을 되돌리는 것은 다른 질문에서 모두 다루었습니다.빨리 감기 병합을 수행할 때 두 번째로 설명하는 병합을 사용할 수 있습니다.git reset이전 상태로 돌아가기

git reset --hard <commit_before_merge>

다음을 찾을 수 있습니다.<commit_before_merge>와 함께git reflog,git log또는, 당신이 moxy를 느끼고 있다면(그리고 다른 것은 아무것도 하지 않은 경우): git reset --hard HEAD@{1}

여기서:

http://www.christianengvall.se/undo-pushed-merge-git/

git revert -m 1 <merge commit hash>

Git revert는 지정된 커밋을 롤백하는 새 커밋을 추가합니다.

사용.-m 1git는 이것이 병합이며 마스터 분기의 상위 커밋으로 롤백하려고 합니다.사용할 수 있습니다.-m 2develop 분기를 지정합니다.

병합 커밋을 재설정하십시오.git reset --hard HEAD^.

--no-ffgit을 사용하는 경우, 중간에 아무것도 커밋하지 않은 경우에도 항상 병합을 만듭니다.--no-ffgit를 사용하지 않으면 빠르게 전달되므로 분기 HEAD가 병합된 분기의 HEAD로 설정됩니다.이 문제를 해결하려면 되돌릴 commit-id를 찾고git reset --hard $COMMITID.

git revert -m 1 88113a64a21bf8a51409ee2a1321442fd08db705

하지만 예상치 못한 부작용이 있을 수 있습니다.--mainline parent-numbergit-scm.com/docs/git-revert 의 옵션

아마도 잔인하지만 효과적인 방법은 그 커밋의 왼쪽 부모를 체크아웃하고, 모든 파일의 복사본을 만들고, 체크아웃하는 것입니다.HEAD모든 내용을 이전 파일로 바꿉니다.그런 다음 Git는 무엇이 롤백되는지 알려줄 것이고 당신은 당신 자신의 복귀 커밋을 만듭니다 :)!

분기를 병합한 경우 풀 요청을 사용하여 병합을 되돌린 다음 해당 풀 요청을 병합하여 되돌립니다.

가장 쉬운 방법은 다음과 같습니다.

  1. 병합한 develop/master에서 새 분기를 꺼냅니다.
  2. 다음을 사용하여 "반전"을 되돌립니다.git revert -m 1 xxxxxx(분기를 사용하여 되돌리기를 병합한 경우) 또는 사용git revert xxxxxx그것이 단순한 되돌림이었다면.
  3. 이제 새 분기에 다시 병합할 변경 사항이 있습니다.
  4. 변경하거나 이 분기를 병합하여 개발/마스터

언급URL : https://stackoverflow.com/questions/11722533/rollback-a-git-merge

반응형