Git: 분기를 마스터로 병합

빠른 답변 - 지점을 마스터로 병합

빠른 답변을 찾고 있다면 분기를 master 가지 – 당신 checkout mastermerge some_branch:

$ git checkout new-branch
# ...develop some code...

$ git add .
$ git commit –m "Some commit message"
$ git checkout master
Switched to branch 'master'
$ git merge new-branch

당신은 항상 checkout 병합하려는 지점 및 merge 이미 변경된 브랜치.

Git을 사용한 브랜치 병합 이해

하지만 Git을 처음 접하는 경우 이러한 명령과 작동 방식을 이해하는 데 몇 분 정도 시간을 투자할 가치가 있습니다. 놀라울 정도로 간단하며 먼 길을 갈 것입니다.

참고 : 2020년에 Git(GitHub, GitLab 등과 같은 주요 리포지토리 호스팅 플랫폼과 함께)은 공식 용어 변경을 채택하고 기본 브랜치 이름이 다음으로 변경되었습니다. main, 부정적인 의미로 인해 단어 master 수반할 수 있습니다. 많은 프로젝트가 주요 지점을 마이그레이션하거나 이름을 바꾸지 않았으므로 가까운 미래에 – 용어 mastermain 아마도 같은 의미로 사용될 것입니다.

Git의 가장 강력한 기능 중 하나는 코드베이스에 대한 브랜치와 변경 사항을 쉽게 생성하고 병합하는 기능입니다.

Git의 분산 특성으로 인해 사용자는 개발 프로세스의 일부로 새 브랜치를 자주 생성하고 정기적으로 병합할 수 있으며 특정 Git 워크플로에서는 이를 광범위하게 활용합니다.

이는 엄격한 동료 검토를 거쳐 더 작고 집중적이며 세부적인 커밋을 장려함으로써 대부분의 프로젝트의 개발 워크플로를 근본적으로 개선합니다.

유산으로 버전 관리 시스템 (CVS와 마찬가지로) 병합의 어려움으로 인해 고급 사용자에게만 제한되었습니다. 다음과 같은 기타 현대적이지만 중앙 집중화된 버전 제어 시스템 파괴 중앙 저장소에 대한 커밋이 필요하므로 로컬 분기 및 병합을 통한 민첩한 작업 흐름은 일반적이지 않습니다.

Git에서 일반적으로 사용되는 분기 작업 흐름은 각각의 새로운 기능, 버그 수정 또는 개선 사항에 대해 새로운 코드 분기를 생성하는 것입니다.

이것들은 기능 분기.

각 브랜치는 특정 기능과 관련된 커밋을 분류합니다. 새로운 기능이 완성되면(즉, 일련의 변경 사항이 기능 브랜치에 커밋되면) 마스터 브랜치(또는 사용 중인 작업 흐름에 따라 다른 기본 코드 라인 브랜치)로 다시 병합될 준비가 됩니다.

참고 : 기능 분기는 브랜칭 워크플로를 사용할 수 있지만 널리 채택된 워크플로이며 Git의 병합 기능이 단순하기 때문에 가능합니다.

Git을 사용하여 Branch를 다른 Branch로 병합

XNUMXD덴탈의 git branch 명령은 저장소의 모든 기존 분기를 나열하는 데 사용됩니다. 현재 활성 분기 옆에 별표가 나타납니다.

$ git branch
* master

새 지점을 만들려면 다음을 사용할 수 있습니다. git branch new-branch 명령. 그러면 현재 활성 브랜치의 커밋을 미러링하는 새 브랜치가 생성됩니다.

$ git branch new-branch
$ git branch
* master
new-branch

참고 : 비하인드 스토리, Git 하지 않습니다 실제로 새 브랜치를 나타내는 새로운 커밋 세트를 만듭니다. 브랜치는 태그와 비슷하며 커밋은 다음과 같습니다. 공유. 당신은 가지치기 메인 브랜치의 새로운 변경 사항입니다. 기능 분기가 완료되고 기본 분기에 병합되면 새 기능 분기를 기본 분기에 병합할 때까지 해당 분기의 변경 사항이 기본 분기가 됩니다.

이 시점에서 우리는 새로운 브랜치를 생성했지만 여전히 소스 브랜치에 있습니다. 새 브랜치 작업을 시작하려면 먼저 다음 명령을 실행해야 합니다. git checkout new-branch. 그러면 활성 분기가 새 분기로 변경됩니다.

$ git checkout new-branch
Switched to branch ‘new-branch'
$ git branch
master
* new-branch

이 시점에서 새 기능을 구현하기 위해 새 분기에서 커밋을 수행할 수 있습니다. 기능이 완료되면 분기를 기본 코드 분기로 다시 병합할 수 있습니다.

먼저 우리는 실행 git checkout master 활성 분기를 다시 master 나뭇가지. 그런 다음 명령을 실행합니다. git merge new-branch새로운 기능을 마스터에 병합 분기.

참고 : git merge 지정된 분기를 현재 활성 분기에 병합합니다. 그래서 우리는 우리가 있는 지점에 있어야 합니다. 합병하다.

새 기능을 메인 브랜치에 병합하는 경우 먼저 메인 브랜치로 전환한 다음 메인 브랜치에 병합해야 합니다.

# ...develop some code...

$ git add .
$ git commit –m "Some commit message"
$ git checkout master
Switched to branch 'master'
$ git merge new-branch

모범 사례, 업계에서 인정하는 표준 및 포함된 치트 시트가 포함된 Git 학습에 대한 실습 가이드를 확인하십시오. 인터넷 검색 Git 명령을 중지하고 실제로 배움 이것!

모든 것이 순조롭게 진행된다면 우리의 일은 끝난 것입니다. 이제 새로운 기능 커밋이 기본 분기에 나타납니다. 그러나 소스 브랜치의 충돌 변경으로 인해 Git이 병합을 완료하지 못할 수도 있습니다. 이것은 병합 충돌.

요약하자면, 새 브랜치를 생성하고 일부 커밋을 수행한 후 다시 마스터에 병합하는 명령은 다음과 같습니다.

$ git checkout master
$ git branch new-branch
$ git checkout new-branch

# ...develop some code...

$ git add .
$ git commit –m "Some commit message"
$ git checkout master
$ git merge new-branch

저자에 관하여

이 기사는 코드를 통해 다른 사람들의 삶을 향상시키려는 열정을 가진 소프트웨어 컨설턴트이자 개발자인 Jacob Stopak이 작성했습니다. 야곱은 창조자이다. 초기 커밋 – 호기심 많은 개발자가 자신이 좋아하는 프로그램의 코딩 방법을 배울 수 있도록 돕는 전용 사이트입니다. 주요 프로젝트는 사람들을 돕습니다. Git 배우기 코드 수준에서.

타임 스탬프 :

더보기 스택카부스