HOWTO · Git

분기된 리포지토리 업데이트

이 튜토리얼에서는 Git에서 분기된 저장소를 업데이트하는 방법을 설명합니다.

이 페이지의 내용

‘포킹’은 자신의 것으로 복사했지만 원래 리포지토리에서 분기된 것으로 태그가 지정되었음을 의미합니다. 버전에서 파일을 추가, 편집 및 삭제할 수 있습니다.

분기된 저장소는 업스트림에서 쉽게 가져올 수 있습니다.

Git에서 Forked Repository 업데이트

분기된 저장소를 복제하고 프로젝트 폴더로 이동하여 bash에서 다음 명령을 실행합니다.

git remote add upstream https://github.com/authorname/original-repository-name.git

이 코드는 upstream이라는 리모컨을 추가하는 것입니다. remote는 저장소 링크의 별명과 같습니다.

git fetch origin master를 수행할 때 원격 origin과 같습니다. 이제 git fetch upstream master를 수행할 수 있습니다.

git remote -v

origin  https://github.com/you/original-repository-name.git (fetch)
origin  https://github.com/you/original-repository-name.git (push)
upstream  https://github.com/authorname/original-repository-name.git (fetch)
upstream  https://github.com/authorname/original-repository-name.git (push)

이제 모든 업스트림 분기를 가져옵니다.

git fetch upstream

분기된 리포지토리에 대한 변경 사항을 업데이트할 지점을 선택합니다. 예를 들어 마스터.

git checkout master

업스트림에서 분기를 병합합니다. 이 경우 커밋 기록은 영향을 받지 않습니다.

git merge upstream/master

업스트림에서 완전히 정리하려면 대신 다음 코드를 실행하세요. 이것은 커밋을 다시 작성하고 저장소를 복제한 사람들에게 영향을 줄 수 있습니다.

git rebase upstream/master
팁
리베이스를 수행하기 위해 별도의 분기를 만들 수 있습니다. 이렇게 하면 작업 중인 분기와 같은 마스터가 원치 않는 병합 및 기록 다시 쓰기를 방지할 수 있습니다.

마지막 단계에서는 분기를 푸시합니다.

병합했다면 다음 코드를 실행하십시오.

git push origin master

리베이스를 했다면 다음 코드를 실행하세요.

git push -f origin master

force -f 플래그는 리베이스한 후 첫 번째 푸시에만 필요합니다.

Git에서 분기된 리포지토리 업데이트에 대한 사실 재고

업스트림과 귀하의 시간, 작업 및 노력에 대해 저장소를 복제한 사람들을 재고하십시오.

무엇을 가져오거나 업데이트하는지 확실하지 않으면 항상 분기를 만드십시오.

백업 저장소가 있습니까? 분기를 합니까? 이미 수행한 작업을 다시 작업하는 것보다 임시 분기를 제거하는 것이 더 쉽습니다.

따라서 이것을 실제 리포지토리에 적용하기 전에 먼저 이 자습서를 연습하여 단계에 익숙해지고 작동하는 것과 그렇지 않은 것에 익숙해집니다.