마스터와 Git 동기화 분기

Abdul Jabbar 2023년6월20일
마스터와 Git 동기화 분기

Git은 분산된 개발자 팀 내에서 소스 코드를 매우 효율적으로 관리하는 잘 구성된 분산 버전 제어 시스템입니다. 다양한 개발자가 서로 다른 제품 기능에 대해 작업하고 완전한 기능을 완료한 후에는 마스터 분기를 업데이트된 작업과 병합하거나 동기화해야 합니다.

Git에서 리포지토리는 인터넷, 개인 서버 또는 네트워크 어딘가에 소개된 프로젝트의 범주입니다.

원격 리포지토리는 개발자가 작업의 일부를 팀원과 공유할 수 있는 경로 역할을 합니다. 그런 다음 로컬 환경에서 가져올 수 있습니다.

로컬 브랜치가 도입되거나 생성될 때마다 동기화할 준비가 되고 기능 작업이 완료되면 로컬 리포지토리를 원격 리포지토리와 반복해서 동기화해야 합니다.

파일 동기화는 둘 이상의 파일을 유사하게 업데이트하는 절차입니다. 이들은 개발자의 로컬 환경의 분기이며 전체 작업을 서버에 배포하고 클라이언트에 제공해야 하는 경우 마스터 분기에 동기화합니다.

Git에서 마스터와 분기 동기화

대규모 프로젝트의 개발자는 팀에서 서로 다른 작업을 동시에 수행합니다. 다른 사람들은 우리가 브랜치에서 작업할 때 그들의 커밋 중 일부를 마스터 브랜치로 푸시할 수 있습니다.

따라서 이 상황을 해결하려면 매일 또는 하루에 두세 번 업데이트되어야 하는 최신 작업을 가져와 저장소를 최신 변경 사항으로 업데이트해야 합니다.

먼저 master 분기를 확인하여 최근 변경 사항을 가져옵니다. 그 전에 원격에서 분기에 대한 모든 변경 사항을 커밋한 다음 다음 Git 명령을 통해 업스트림에서 가져와야 합니다.

git checkout master
git pull upstream master

이렇게 하면 로컬 마스터 분기가 마스터 분기로 업데이트되지만 기능 분기는 동일하게 유지됩니다. 업데이트를 위해 아래 언급된 Git 명령을 사용하여 리베이스할 수도 있습니다.

git checkout my_feature_branch
git rebase master

원활하게 진행되지만 Git이 자동 병합에 응답하지 않으면 병합 충돌이 발생합니다. 텍스트 편집기에 있는 충돌 파일을 열거나 Visual Studio 코드가 있는 경우 이 충돌을 제거해야 합니다.

빨간색 마커 표시가 있는 동일한 파일에서 둘 이상의 충돌이 나타날 수 있습니다. 다음과 같이 파일을 편집한 다음 인덱스에 파일을 추가하고 리베이스하여 수동으로 해결하십시오.

git add path/to/file
git rebase --continue

이제 두 분기, 즉 master 분기와 feature 분기가 업데이트되고 feature 분기 변경도 준비되었으므로 다음과 같이 master로 병합합니다.

git checkout master
git merge my_feature_branch

이렇게 하면 기능 분기가 마스터 분기와 동기화되고 모든 최신 코드가 기본 분기에 병합됩니다.

작가: Abdul Jabbar
Abdul Jabbar avatar Abdul Jabbar avatar

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