개발관련/Git

Git으로 GitHub에서 특정 분기 가져오기

Rateye 2021. 12. 12. 23:21
728x90
반응형
질문 : Git은 GitHub에서 특정 분기를 가져옵니다.

여러 지점이있는 프로젝트가 있습니다. 나는 그들을 GitHub 로 밀고 있었고, 이제 다른 누군가가 프로젝트를 진행하고 있으므로 GitHub에서 브랜치를 가져와야합니다. 마스터에서 잘 작동합니다. xyz 브랜치를 만들었다 고합시다. GitHub에서 브랜치 xyz 를 가져와 내 localhost xyz 에 병합하려면 어떻게해야합니까?

사실 여기 내 대답을 : 망할 놈의 푸시 및 풀 가지

하지만 "! [거부 됨]"오류와 "빨리 감기가 아님"에 대한 내용이 표시됩니다.

어떤 제안?

답변

하지만 "! [거부 됨]"오류와 "빨리 감기가 아님"에 대한 내용이 표시됩니다.

Git이 브랜치의 변경 사항을 현재 마스터로 병합 할 수 없기 때문입니다. master 체크 아웃했고 원격 브랜치 other-branch 에서 병합하려고한다고 가정 해 보겠습니다. 이렇게하면 :

$ git pull origin other-branch

Git은 기본적으로 다음을 수행합니다.

$ git fetch origin other-branch && git merge other-branch

즉, pull 는 단지 fetchmerge 입니다. pull 할 때 Git은 빨리 감기 병합을 수행 할 수있는 경우 에만 other-branch 병합합니다. 빨리 감기 병합은 병합하려는 분기의 헤드가 병합하려는 분기의 헤드의 직계 하위 항목 인 병합입니다. 예를 들어,이 히스토리 트리가있는 경우 other-branch 를 병합하면 빨리 감기 병합이 발생합니다.

O-O-O-O-O-O
^         ^
master    other-branch

그러나 이것은 빨리 감기 병합 이 아닙니다.

    v master
O-O-O
\
 \-O-O-O-O
         ^ other-branch

문제를 해결하려면 먼저 원격 분기를 가져옵니다.

$ git fetch origin other-branch

그런 다음 현재 분기에 병합하고 ( master 라고 가정합니다) 병합 충돌을 수정합니다.

$ git merge origin/other-branch
# Fix merge conflicts, if they occur
# Add merge conflict fixes
$ git commit    # And commit the merge!
출처 : https://stackoverflow.com/questions/1709177/git-pull-a-certain-branch-from-github
728x90
반응형