Git의 마스터에서 분기 업데이트
다양한 브랜치에서 동시에 작업하는 많은 개발자 및 분석가와 Git에서 작업하는 동안 많은 문제를 접할 수 있었습니다. 한 가지 일반적인 문제는 한 팀 구성원이 자신의 로컬 브랜치에서 변경을 수행하는 반면 다른 팀원은 해당 원격 브랜치에서 작업한 다음 변경 사항을 원격 마스터 브랜치에 결합하는 경우입니다.
또한, 작동하는 로컬 브랜치를 푸시하고 원격 마스터 브랜치를 풀하지 않으면 원격 마스터 브랜치에서 다른 개발자의 변경 사항을 다시 작성해야 합니다.
이 기사는 git update master branch
명령에 관한 것이며 전체 Git 업데이트 분기 모델에 대해 논의할 것입니다. branching
기능은 대부분의 현대적이고 독특한 버전 제어 시스템에서 찾을 수 있습니다.
Git에서 가장 중요하고 유용한 기능은 일상 개발 프로세스의 일부인 분기입니다. 이 기사에서는 아래에 언급된 방법을 사용하여 Git 브랜치를 업데이트하는 방법을 안내합니다.
마스터 브랜치의 새로운 변경 사항으로 git 기능 브랜치를 업데이트하려면 다음 기술 중 하나를 따라야 합니다.
- 병합
- 리베이스
병합은 리포지토리에서 다시 쓰기 기록을 기반으로 하는 동안 더 많은 커밋을 생성합니다.
개발 프로세스에서 하위 기능을 추가하기 위해 생성한 저장소의 기능 분기에 있다고 가정해 보겠습니다.
지점의 현재 상태는 다음과 같습니다.
git branch
* feature branch
그리고 저장소의 origin/master 분기에서 사용할 수 있는 새로운 커밋이 있습니다.
git fetch
From git repository
xyz88874..def74125 master -> origin/master
그렇다면 위의 커밋을 로컬 브랜치에서 마스터 브랜치로 어떻게 병합할까요? 이제 두 가지 솔루션이 있습니다. 첫 번째는 merge
명령을 사용하는 것이고 다른 하나는 Git의 rebase
명령입니다.
Git에서 merge
명령을 사용하여 마스터 분기 업데이트
로컬 브랜치의 최신 커밋을 마스터 브랜치로 병합하려는 상황이므로 아래 명령어를 사용하여 커밋을 병합할 수 있습니다.
git merge origin/master
로컬 브랜치에서 원격 브랜치로 변경 사항을 커밋할 때 충돌이 발견되면 먼저 충돌을 단일 파일로 병합하고 새 병합 커밋을 만듭니다. 작업 디렉토리에서 충돌을 찾지 못하면 새 커밋이 원격 분기로 직접 푸시됩니다.
rebase
명령을 사용하여 마스터 분기 업데이트
최신 커밋을 로컬 브랜치에서 마스터 브랜치로 리베이스하려는 상황이 있으므로 아래 명령을 사용하여 커밋을 리베이스할 수 있습니다.
git rebase origin/master
Rebase는 기능 분기의 모든 분기 커밋을 위로 이동합니다. 이는 기록이 마스터 분기에 다시 기록되기 때문에 분기 커밋이 이제 \new 커밋 해시\
로 구성됨을 나타냅니다.
또한 기능 분기가 이미 원격 마스터 분기로 푸시된 경우 업데이트하려면 푸시를 강제 실행해야 합니다.
git push origin feature --force
그러나 다른 개발자가 해당 기능 분기를 확인했다면 이 방법은 권장되지 않으며 이 시나리오에서는 병합 명령을 사용하는 것이 좋습니다.
Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.
LinkedIn