Git에서 빨리 감기 없이 분기 병합

Azhar Bashir Khan 2022년8월23일
Git에서 빨리 감기 없이 분기 병합

이 튜토리얼에서는 Git에서 빨리 감기 없이 분기를 병합하는 방법에 대해 알아봅니다.

우리는 협업 개발 환경에서 작업하기 위해 Git을 사용합니다. 우리는 다양한 목적을 위해 많은 분기를 만들고 결국에는 이러한 분기를 기본 분기에 병합하여 릴리스 빌드를 제공합니다.

빨리 감기 또는 빨리 감기 없이 Git의 분기를 병합합니다.

이제 이를 예를 들어 설명하겠습니다.

Git에서 --no-ff(빨리 감기 없음) 옵션이 있거나 없는 git merge 명령 사용

협업 개발 환경에서 우리는 다양한 목적을 위해 Git에 여러 분기를 만드는 경우가 많습니다. 그런 다음 최종적으로 해당 분기를 기본 분기로 병합하여 릴리스 빌드를 제공합니다.

때로는 메인라인 브랜치의 HEAD 커밋이 병합하려는 브랜치 커밋의 조상입니다. 이러한 경우 병합은 빨리 감기로 수행됩니다.

빨리 감기 병합은 현재 분기 끝에서 대상 분기까지의 선형 경로일 때 발생할 수 있습니다. feature1 분기가 있고 이를 메인 라인 분기인 main으로 병합한다고 가정합니다.

이제 main 분기의 HEAD 커밋이 병합하려는 feature1 분기의 커밋의 조상이라고 가정합니다.

이러한 경우, Git은 브랜치를 병합하는 대신 히스토리를 통합하기 위해 현재 브랜치 팁을 대상 브랜치 팁까지 빠르게 이동(즉)하기만 하면 됩니다.

따라서 우리의 경우 빨리 감기를 사용하면 main 분기의 현재 HEADfeature1 분기 팁으로 이동됩니다.

병합 전 mainfeature1 분기의 상황에 대한 아래 그림을 참조하십시오.

              E---F---G feature1
             /
A---B---C---D main

따라서 git merge 명령을 사용하여 두 분기를 병합할 때 빨리 감기가 발생합니다.

병합을 수행하려면 다음과 같이 명령을 실행합니다.

$ git merge feature1

명령을 실행한 후 main 분기가 빨리 전달됩니다.

아래의 빨리 감기 그림을 참조하십시오.

              E---F---G feature1, main
             /
A---B---C---D

따라서 이제 main 분기의 현재 HEAD가 빨리 감기됩니다. 이 경우 병합 커밋이 생성되지 않습니다.

때로는 빨리 감기 대신 실제 병합을 수행하고 싶을 수도 있습니다. 분기 토폴로지를 유지하려고 한다고 가정해 보겠습니다.

이러한 경우 --no-ff 옵션과 함께 git merge 명령을 사용할 수 있습니다.

--no-ff 명령 옵션을 사용하면 병합을 빨리 감기로 해결할 수 있는 경우에도 모든 경우에 병합 커밋이 생성됩니다.

따라서 우리의 경우 빨리 감기 없이 병합하려면 다음과 같이 해야 합니다.

$ git merge --no-ff feature1

따라서 이제 git merge 명령은 feaure1 분기를 main 분기로 병합하고 병합 커밋을 생성합니다(빠른 감기 병합이더라도).

이것은 저장소에서 발생하는 모든 병합을 문서화하는 데 유용합니다.

따라서 Git에서 빨리 감기 없이 분기를 병합하는 방법에 대해 자세히 설명했습니다.

자세한 내용은 다음을 방문하십시오 -

  1. Git Merge
  2. git-merge

관련 문장 - Git Merge