Git: 커밋을 리버스 병합하는 방법?
SVN을 사용하면 커밋을 역병합하는 것이 쉽지만, Git을 사용하면 어떻게 할 수 있습니까?
병합 커밋을 되돌리려면 다음을 사용해야 합니다.git revert -m <parent number>. 예를 들어, 숫자가 1인 부모를 사용하여 가장 최근의 병합 커밋을 되돌리려면 다음을 사용합니다.
git revert -m 1 HEAD
마지막 커밋 전에 병합 커밋을 되돌리려면 다음 작업을 수행합니다.
git revert -m 1 HEAD^
사용하다git show <merge commit SHA1>부모님을 보기 위해서 번호는 그들이 나타나는 순서입니다. 예를 들어.Merge: e4c54b3 4725ad2
git 병합 문서: http://schacon.github.com/git/git-merge.html
git merge discussion (confusing하지만 매우 상세) : http://schacon.github.com/git/howto/revert-a-faulty-merge.txt
과거 커밋의 변경 내용을 '실행하지 않는' 새 커밋을 만들려면 다음을 사용합니다.
$ git revert <commit-hash>
과거 임의 지점에서 커밋을 제거할 수도 있지만, 커밋을 이미 다른 저장소로 푸시한 경우(또는 다른 사용자가 사용자로부터 제거한 경우)에는 실제로 제거하지 않을 수 있습니다.
이전 커밋이 병합 커밋인 경우 이 명령을 실행할 수 있습니다.
$ git revert -m 1 <commit-hash>
merged를 사용하지 않는 분기를 다시 merge하는 적절한 방법은 schacon.github.io/git/howto/revert-a-faulty-merge.txt 을 참조하십시오.
내가 당신을 제대로 이해했다면, 당신은 당신이 하는 것에 대해 말하고 있는 것입니다.
svn merge -rn:n-1
이전의 약속을 뒤로하고, 이 경우에, 당신은 아마도
git revert
git reset --hard HEAD^
병합 변경사항을 되돌리려면 위의 명령을 사용합니다.
git revert -m 해시
-m은 본선을 의미합니다.
병합에는 두 부모가 있습니다.
분기 A를 분기 B에 병합하면 B는 상위 1이고 A는 상위 2입니다.
기본적으로 당신이 지정하는 것처럼, 나는 그 커밋을 되돌리고 싶습니다.hash, 부모 B에 따라 달라지는 것을 당신은 말합니다.
$ git revert -m 1hash.
네가 만약git log, 병합 커밋은 다음과 같이 표시됩니다.
commit <hash>
Merge: <parent 1> <parent 2>
Author: Author <author@email.com>
Date: Mon Oct 24 21:54:00 2022 +0000
comment message
로그에서 <부모 1> 및 <부모 2>가 무엇인지 확인하면 이 커밋을 되돌릴 부모/베이스를 알 수 있습니다.
커밋을 원하지 않거나 나중에 커밋하려는 경우(커밋 메시지는 여전히 사용자를 위해 준비되며 편집할 수도 있습니다):
git revert -n <commit>
언급URL : https://stackoverflow.com/questions/1809484/git-how-to-reverse-merge-a-commit
'programing' 카테고리의 다른 글
| 워드프레스 플러그인 끝점에 REST 경로를 등록할 위치 (0) | 2023.11.01 |
|---|---|
| 도메인 간 게시물로 자격 증명을 보내시겠습니까? (0) | 2023.10.27 |
| (및 배열)의 크기는 얼마나 됩니까? (0) | 2023.10.27 |
| 쓰기가 버퍼에 지속적으로 4K 바이트를 남기는 이유는 무엇입니까? (0) | 2023.10.27 |
| RxJS - 오류가 발생하면 관측 가능이 완료되지 않습니다. (0) | 2023.10.27 |