0
병합 커밋에서 병합 된 분기를 알고 싶습니다.병합 병합에서 병합 된 분기 감지
그래서 커밋 훅을 사용하여 병합이 발생하면 병합 분기가 포함 된 병합 메시지를 자동으로 작성하기로 결정했습니다.
그러나 이것은 문제가 있습니다. 내가 커밋 객체를 볼 때 어떤 브랜치가 병합되는지 알 수가 없었다.
커밋 개체를 보는 동안 병합되는 분기를 알 수있는 좋은 방법이 있습니까?
병합 커밋에서 병합 된 분기를 알고 싶습니다.병합 병합에서 병합 된 분기 감지
그래서 커밋 훅을 사용하여 병합이 발생하면 병합 분기가 포함 된 병합 메시지를 자동으로 작성하기로 결정했습니다.
그러나 이것은 문제가 있습니다. 내가 커밋 객체를 볼 때 어떤 브랜치가 병합되는지 알 수가 없었다.
커밋 개체를 보는 동안 병합되는 분기를 알 수있는 좋은 방법이 있습니까?
당신은 병합의 부모 커밋은 다음 명령으로 커밋 얻을 수 있습니다 :
내 이전 코멘트에 명시된 바와 같이git rev-list --parents -n 1 <commit>
, 당신은 지점 이름 만 커밋을 얻을 수 없습니다. 두 커밋에서 다음과 같이 포크 포인트를 얻을 수 있습니다.
git merge-base <commit> <commit>
보너스 : 커밋 순서는 중요합니다. 왼쪽 커밋은 병합을 실행 한 지점이고 오른쪽 커밋은 병합 한 분기입니다. 예를 들어 master 브랜치에 있고 git merge --no-ff develop
을 수행하면 왼쪽 커밋이 마스터가되고 오른쪽 커밋이 발생합니다.
브랜치는 문자 그대로 특정 커밋에 대한 참조라는 점에 유의하십시오. 따라서 "이 병합 병합을 수행하고이 분기가 공통 조상을 공유합니까?"와 같은 질문을 할 수 있지만 "어떤 분기가 병합 되었습니까?" 반드시 Git의 관점에서 의미있는 것은 아닙니다. –
나는 당신이 얻으려는 것이 무엇인지 확신하지 못한다. (물건이나 가지 이름?). 커밋 유형 (병합)을 식별하고 공통 조상을 결정할 수 있습니다. 이제'git show