HOWTO · Git
Git의 두 분기에 대한 최근 공통 조상 식별
Git에서 두 분기에 대한 최근 공통 조상 커밋을 찾을 수 있습니다.
이 기사에서는 Git에서 최근 공통 조상 커밋을 찾는 방법을 설명합니다. 이는 브랜치를 생성하거나 다른 브랜치에 병합할 때 유용합니다.
더 이상 고민하지 않고 오늘의 의제로 넘어가겠습니다.
Git의 두 분기에 대한 최근 공통 조상 식별
Git에서 두 분기의 공통 조상은 무엇입니까?
아래 이미지를 살펴보세요.
위의 이미지에는 feature 분기를 생성한 main 분기와 feature 분기에서 new feature 분기가 있습니다. main 분기를 없애고 feature 및 new-feature 분기에 집중하겠습니다.
bd9172c 커밋 후에 new-feature 브랜치를 생성한 것을 볼 수 있습니다. 짐작하셨겠지만 bd9172c 커밋은 feature 및 main 브랜치의 최근 공통 조상입니다.
그렇다면 두 가지의 최근 공통 조상을 어떻게 찾을 수 있을까요?
git merge-base 명령만 있으면 됩니다. Git의 문서에서 git merge-base 명령은 git merge의 가장 좋은 공통 조상을 찾는 데 도움이 됩니다.
그러나 제공된 분기에 대한 가장 최근의 공통 조상을 표시하기 위해 인수로 두 개의 분기를 공급할 수 있습니다.
통사론:
$ git merge-base <Branch 1> <Branch 2>
예를 들어 보겠습니다.
아래 예는 로컬 저장소의 master 및 feature 분기를 보여줍니다. 둘 사이의 공통 조상을 찾기 위해 아래와 같이 git merge-base 명령을 실행합니다.
$ git merge-base master feature
이 명령은 공통 조상에 대한 커밋 해시를 표시해야 합니다.
출력:
아래 명령을 시각적 로그에 사용할 수 있습니다.
$ git log --graph --oneline --all --decorate
다음과 같은 결과를 얻어야 합니다.
이전에 git merge-base 명령을 실행하여 얻은 것과 동일한 커밋 해시인 2dbe38d 커밋의 master에서 feature 분기가 포크된 것을 볼 수 있습니다.
Git에서 두 개의 브랜치에 대한 가장 최근의 공통 조상 커밋을 git merge-base 명령을 사용하여 가까이에 있는 브랜치를 공급하는 동안 찾을 수 있습니다. 이 명령은 가장 최근의 공통 조상만 가져옵니다.