How to cleanly get/copy a remote git branch to local repository

前端 未结 2 1725
广开言路
广开言路 2021-01-30 03:45

I want an exact \"copy\" of a remote branch \"copied\" to a specific local branch.

Say, for example, a team member has created an experimental feature, which he has che

相关标签:
2条回答
  • 2021-01-30 04:27

    If you don't care about merging:

    git reset --hard <remote>/<branch_name>
    

    This will exactly do what you want: no merging, no rebasing, simply put the local branch to exactly the same state as the remote is.

    In your case however, you don't need that. You want to create a new local branch that has the same state as the remote, so specify the remote branch when creating the local one with git checkout:

    git checkout -b <my_new_branch> <remote>/<branch_name>
    

    If you want to use the same name locally, you can shorten that to:

    git checkout <branch_name>
    

    You would use git reset --hard if you already have a local branch (for example with some changes in it), discard any modifications that you made and instead take the exact version of the remote branch.

    To be sure that you have the latest state of the remote branch, use git fetch <remote> before either checking out or resetting.

    0 讨论(0)
  • 2021-01-30 04:31

    I don’t have enough rep to comment, but I’d like to add an example for those still struggling. In my example, I’m using Github as my remote and copying the branch to my Linux server environment/terminal.

    First, you’ll want to run git fetch To make sure you’re up to date.

    Using the example of

    git checkout -b <my_new_branch> <remote>/<branch_name>

    With a remote branch named “picklerick”

    I ran

    git checkout -b picklerick remotes/origin/picklerick

    I probably could have just used remote/picklerick for my remote path, but this worked for me.

    0 讨论(0)
提交回复
热议问题