2017-02-17 2 views
2

내가 병합 커밋 중 하나를 되돌려 야 할 상황이 생겼다. 내가 병합 커밋을 되 돌리는 중 1과 2의 의미

참조

1 사이 2의 차이를하지 않았다

git revert -m 2 [merge commit id] 

:

git revert -m 1 [merge commit id] 

이제 자식이 아래 위의 명령에 대한 또 하나의 옵션을 제공합니다 : 나는 다음과 같은 명령을 사용하여 사용 된 언어 : https://www.christianengvall.se/undo-pushed-merge-git/

+0

대부분이 부모가, 그리고 숫자는 부모와 함께 되돌릴 것을 나타냅니다. – Jehof

답변

1

이 문서는과 같은 구문을 제공합니다.

git revert [--[no-]edit] [-n] [-m parent-number] [-s] [-S[<keyid>]] <commit>…​ 
그래서 -m 다음의 숫자는 여기에 두 부모가 현재의 해시 0ce2ca0b35f59af267241cf4d40d16a3e13ba6f3

이며, 두 부모

df1acf5f54426d30f12c6b4558c3dd922297aae3 
e19b912404ffd3c153ccac3072dbf22396896d2a 

git revert -m 2 0ce2ca0b35f59af267241cf4d40d16a3e13ba6f3 
을 가지고 예를 고려 말

병합가 가질 수있는 위탁 부모의 수를 나타냅니다

e19b912404ffd3c153ccac3072dbf22396896d2a

Documentation

0

자식 저장소는 단지 커밋 된 트리입니다. 병합 커밋은 부모가 두 명 (또는 그 이상) 인 커밋 일뿐입니다.

단일 부모와의 커밋을 되돌릴 경우 커밋에 의해 도입 된 변경 사항을 되돌릴 수 있습니다.

그러나 병합 커밋을 되돌릴 경우 병합 된 분기의 모든 변경 사항을 되돌려 야합니다. 그러나 병합 된 분기에 대한 실제 개념은 없습니다. 커밋 및 -m 당신이-을 되돌리려 부모 자식을 알려줍니다

여기에 문서를 참조하십시오 (즉, 다른 부모로부터 도입 된 변경 취소.) : 병합 커밋 https://git-scm.com/docs/git-revert#git-revert--mparent-number

관련 문제