Update a local branch with the changes from a tracked remote branch

I have a local branch named ' my_local_branch ', which tracks a remote branch origin/my_remote_branch .

Now, the remote branch has been updated, and I am on the ' my_local_branch ' and want to pull in those changes. Should I just do:

git pull origin my_remote_branch:my_local_branch

Is this the correct way?


You have set the upstream of that branch

(see:

  • "How do you make an existing git branch track a remote branch?" and
  • "Git: Why do I need to do --set-upstream-to all the time?"
    )
  • git branch -f --track my_local_branch origin/my_remote_branch
    # OR (if my_local_branch is currently checked out):
    $ git branch --set-upstream-to my_local_branch origin/my_remote_branch
    

    ( git branch -f --track won't work if the branch is checked out: use the second command git branch --set-upstream instead, or you would get " fatal: Cannot force update the current branch. ")

    That means your branch is already configured with:

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

    Git already has all the necessary information.
    In that case:

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

    is enough.


    If you hadn't establish that upstream branch relationship when it came to push your ' my_local_branch ', then a simple git push -u origin my_local_branch:my_remote_branch would have been enough to push and set the upstream branch.
    After that, for the subsequent pulls/pushes, git pull or git push would, again, have been enough.


    You don't use the : syntax - pull always modifies the currently checked-out branch. Thus:

    git pull origin my_remote_branch
    

    while you have my_local_branch checked out will do what you want.

    Since you already have the tracking branch set, you don't even need to specify - you could just do...

    git pull
    

    while you have my_local_branch checked out, and it will update from the tracked branch.

    链接地址: http://www.djcxy.com/p/4554.html

    上一篇: 什么是`git push origin master`? 帮助与git的裁判,头和遥控器

    下一篇: 用跟踪的远程分支中的更改更新本地分支