Git의 두 분기에 대한 최근 공통 조상 식별

John Wachira 2024년2월15일
Git의 두 분기에 대한 최근 공통 조상 식별

이 기사에서는 Git에서 최근 공통 조상 커밋을 찾는 방법을 설명합니다. 이는 브랜치를 생성하거나 다른 브랜치에 병합할 때 유용합니다.

더 이상 고민하지 않고 오늘의 의제로 넘어가겠습니다.

Git의 두 분기에 대한 최근 공통 조상 식별

Git에서 두 분기의 공통 조상은 무엇입니까?

아래 이미지를 살펴보세요.

두 브랜치의 공통 조상

위의 이미지에는 feature 분기를 생성한 main 분기와 feature 분기에서 new feature 분기가 있습니다. main 분기를 없애고 featurenew-feature 분기에 집중하겠습니다.

bd9172c 커밋 후에 new-feature 브랜치를 생성한 것을 볼 수 있습니다. 짐작하셨겠지만 bd9172c 커밋은 featuremain 브랜치의 최근 공통 조상입니다.

그렇다면 두 가지의 최근 공통 조상을 어떻게 찾을 수 있을까요?

git merge-base 명령만 있으면 됩니다. Git의 문서에서 git merge-base 명령은 git merge의 가장 좋은 공통 조상을 찾는 데 도움이 됩니다.

그러나 제공된 분기에 대한 가장 최근의 공통 조상을 표시하기 위해 인수로 두 개의 분기를 공급할 수 있습니다.

통사론:

$ git merge-base <Branch 1> <Branch 2>

예를 들어 보겠습니다.

아래 예는 로컬 저장소의 masterfeature 분기를 보여줍니다. 둘 사이의 공통 조상을 찾기 위해 아래와 같이 git merge-base 명령을 실행합니다.

$ git merge-base master feature

이 명령은 공통 조상에 대한 커밋 해시를 표시해야 합니다.

출력:

git merge-base

아래 명령을 시각적 로그에 사용할 수 있습니다.

$ git log --graph --oneline --all --decorate

다음과 같은 결과를 얻어야 합니다.

시각적 로그

이전에 git merge-base 명령을 실행하여 얻은 것과 동일한 커밋 해시인 2dbe38d 커밋의 master에서 feature 분기가 포크된 것을 볼 수 있습니다.

Git에서 두 개의 브랜치에 대한 가장 최근의 공통 조상 커밋을 git merge-base 명령을 사용하여 가까이에 있는 브랜치를 공급하는 동안 찾을 수 있습니다. 이 명령은 가장 최근의 공통 조상만 가져옵니다.

작가: John Wachira
John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

관련 문장 - Git Merge