실행중인 git log --first-parent -p
은 내가 관심있는 커밋을 보여 주지만 병합 커밋과 비 병합 커밋 (-p
은 병합되지 않은 커밋에 대한 패치 만 보여줍니다)에 대한 패치를보고 싶습니다.병합 커밋에 대한 패치보기
병합 커밋을위한 패치를 볼 수있는 방법이 있습니까?
실행중인 git log --first-parent -p
은 내가 관심있는 커밋을 보여 주지만 병합 커밋과 비 병합 커밋 (-p
은 병합되지 않은 커밋에 대한 패치 만 보여줍니다)에 대한 패치를보고 싶습니다.병합 커밋에 대한 패치보기
병합 커밋을위한 패치를 볼 수있는 방법이 있습니까?
여러 가지 옵션으로 제어 할 수 있습니다.
병합 커밋을 diff하는 기본적인 문제는 여러 부모가 있다는 것입니다 (정의에 따르면, 병합이므로). 무엇 git show
은 기본적으로하지 않습니다 당신에게 제대로 git diff-tree
을 위해, 또 다른 다른 문서 페이지에 설명 된 "결합 DIFF"쇼 (이, 내가 알고, 한 순간에 끊지 git log
입니다) :
을 - C
이 플래그 (명령이 하나 트리 틱 또는
--stdin
부여 된 경우에만 유용한 수단) 표시 병합 커밋 방법을 변경한다. 부모와 결과 사이에 pairwise diff를 표시하는 대신 (각 숫자가-m
옵션과 동일 함) 각 부모와 병합 결과의 차이점을 동시에 보여줍니다. 또한 모든 부모로부터 수정 된 파일 만 나열합니다.--cc
이 플래그는
-c
옵션과 유사한 방식으로, 병합이 패치가 표시됩니다 저지 방식을 변경합니다.-c
및-p
옵션을 의미하며 부모의 내용에 변형이 2 개인 병목 현상을 생략하고 병합 결과가 수정하지 않고 그 중 하나를 선택하는 흥미로운 헌트를 생략하여 패치 출력을 더욱 압축합니다. 모든 hunks가 흥미롭지 않을 때, 커밋 자체와 커밋 로그 메시지는 다른 "빈 diff"경우와 같이 표시되지 않습니다.
우리는 이제 모든 세 가지 옵션 (; 다른 사람이 하나를 사용하는 동안 --cc
두 -
문자를 사용주의 -c
, --cc
및 -m
)를 구현 git log
밖으로 모든 방법을 뛰어 준비가 된 것입니다. 이 중 하나를 추가하면 병합 커밋을위한 패치가 생성됩니다. 특히 -m
을 원할 것입니다. ,
git log -p -m --first-parent
::는하지만, 단지 ``본점 ''관점에서, 변화의 차이점을 포함하여 역사를 보여줍니다 :이 실제로 (웹 페이지의 끝 부분)을 documentation에 설명되어 있습니다 병합 된 분기의 커밋을 건너 뛰고 병합에 의해 도입 된 변경 사항 전체를 보여줍니다. 단일 통합 분기에있을 때 모든 주제 분기를 병합하는 엄격한 정책을 따를 때만 의미가 있습니다.
정확히 내가 뭘했는지! 고맙습니다! – zoran119