추적 된 원격 분기의 변경 사항으로 로컬 분기 업데이트


96

my_local_branch원격 분기를 추적하는 ' ' 라는 로컬 분기 가 있습니다 origin/my_remote_branch.

이제 원격 분기가 업데이트되었으며 ' my_local_branch'에 있으며 이러한 변경 사항을 가져오고 싶습니다. 내가해야 할 일 :

git pull origin my_remote_branch:my_local_branch

이것이 올바른 방법입니까?

답변:


72

해당 지점의 업스트림을 설정했습니다.

(보다:

git branch -f --track my_local_branch origin / my_remote_branch
# 또는 (my_local_branch가 현재 체크 아웃 된 경우) :
$ git branch --set-upstream-to my_local_branch origin / my_remote_branch

( git branch -f --track브랜치가 체크 아웃 된 경우 작동하지 않습니다. git branch --set-upstream-to 대신 두 번째 명령을 사용하십시오. 그렇지 않으면 " fatal: Cannot force update the current branch."가 표시됩니다.)

즉, 분기가 이미 다음 과 같이 구성 되어 있습니다.

branch.my_local_branch.remote origin
branch.my_local_branch.merge my_remote_branch

Git에는 이미 필요한 모든 정보가 있습니다.
이 경우 :

# if you weren't already on my_local_branch branch:
git checkout my_local_branch 
# then:
git pull

충분합니다.


' my_local_branch' 를 푸시 할 때 업스트림 브랜치 관계를 설정하지 않았다면 간단한 방법으로 업스트림 브랜치 git push -u origin my_local_branch:my_remote_branch를 푸시 하고 설정하는 것으로 충분할 것 입니다.
그 후, 이후의 당기기 / 푸시를 위해 git pull또는 git push다시 충분했습니다.


OP는 이미 원격 지점을 추적하고 있다고 언급합니다.
Amber

7
@Amber 따라서 내 대답 : git pull충분합니다.
VonC

첫 번째 명령 git branch -f --track master origin/master은 오류를 반환합니다.fatal: Cannot force update the current branch.
Mark Kramer

@MarkKramer 예, 로컬 브랜치가 현재 체크 아웃 된 경우 두 번째 명령이 사용된다는 것을 더 명확하게하기 위해 답변을 편집했습니다.
VonC

또한로 변경해야하며 --set-upstream-to, --set-upstream더 이상 사용되지 않으며 제거 될 예정입니다.
Mark Kramer

89

:구문을 사용하지 않고 pull항상 현재 체크 아웃 된 분기를 수정합니다. 그러므로:

git pull origin my_remote_branch

my_local_branch체크 아웃 하는 동안 원하는 것을 할 것입니다.

이미 추적 분기가 설정되어 있으므로 지정할 필요도 없습니다. 그냥 할 수 있습니다.

git pull

당신은 반면 my_local_branch체크 아웃, 그리고 그것을 추적 지점에서 업데이트됩니다.


정답이되어야합니다. 그렇게 간단합니다.
m4l490n
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.