远程存储库包含各种分支,如origin/davis_branch:

$ git branch -r
origin/HEAD -> origin/master
origin/daves_branch
origin/master

如何将daves_branch获取到本地存储库,以便它跟踪origin/davis_branch?

我尝试了:

$ git fetch origin discover
$ git checkout discover

当前回答

你用“git pull”来保持你的分支分开。我将使用实际的存储库和分支名称来帮助,因为“lbranch”和“rbranch”很难破译。

让我们使用:myteam.unfuddle.com=远程Git服务器tlc=存储库所在的未归档项目帐户daves_branch=远程分支名称

无论有多少分支,您或任何同事都可以运行此命令仅拉动您的分支:

git init
git pull git@myteam.unfuddle.com:myteam/tlc daves_branch:refs/remotes/origin/daves_branch

其他回答

要签出远程而非本地存在的myBranch,这对我很有用:

git fetch --all
git checkout myBranch

我收到了这条消息:

Branch myBranch set up to track remote branch myBranch from origin
Switched to a new branch 'myBranch'

如果要获取所有远程分支,请键入:

git fetch --all

假设你的遥控器git@xyz.git你想要它的random_branch分支。流程应如下:

首先检查遥控器列表git远程-v如果你没有git@xyz.git在上述命令的输出中,您可以通过git远程添加xyzgit@xyz.git现在,您可以通过git获取xyz现在通过git checkout-b my_copy_random_branch xyz/random_brance检查分支列表查看所有的分支

本地分支my_copy_random_branch将跟踪远程的random_brance分支。

如果下载带有git clone<repo_url>-b<branch>(仅克隆特定分支)的存储库,则应修改<repo_name>/.git/config文件。替换或修改引用[remote“origin”]部分的fetch目标的行,让命令git fetch--all发现所有分支:

[remote "origin"]
        url = <repo_git_url>
        fetch = +refs/heads/master:refs/remotes/origin/master

确保将提取参数点设置为/heads/master。

小心git fetch,因为这会获取所有数据,所以可能需要很长时间。

如果您正在尝试“签出”一个新的远程分支(仅存在于远程,而不存在于本地),以下是您需要的:

git fetch origin
git checkout --track origin/<remote_branch_name>

这假设您要从原点提取。如果没有,请用远程名称替换源。