하지만 "! [거부 됨]"이라는 오류와 "빨리 감기가 아닌"문제가 발생합니다
Git이 브랜치의 변경 사항을 현재 마스터로 병합 할 수 없기 때문입니다. branch를 체크 아웃 master
하고 원격 branch에 병합하려고 한다고 가정 해 봅시다 other-branch
. 이렇게하면 :
$ git pull origin other-branch
힘내는 기본적으로 이것을하고 있습니다 :
$ git fetch origin other-branch && git merge other-branch
즉, a pull
는 fetch
뒤에옵니다 merge
. 그러나 pull
-ing 할 때 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!