远程存储库包含各种分支,如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 fetch && git checkout the-branch-name

其他回答

你用“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

标题和问题混淆了:

Git获取远程分支我的同事怎么能具体地拉动那个分支。

如果问题是,我如何才能使用远程分支,或者我如何Git签出远程分支?,更简单的解决方案是:

使用Git(>=1.6.6),您可以使用:

git checkout <branch_name>

如果找不到本地<branch_name>,但恰好在一个远程中存在具有匹配名称的跟踪分支,请将其视为等同于:

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

参见Git签出文档

对于您的朋友:

$ git checkout discover
Branch discover set up to track remote branch discover
Switched to a new branch 'discover'
git fetch

git branch -r

git checkout <branch_name>

我键入了

git checkout <branch_name>

并且得到

Branch <branch_name> set up to track remote branch <branch_name> from origin.
Switched to a new branch '<branch_name>'

在我看来,这一行命令是获取和签出本地不存在的远程分支的最简单方法:git获取和git签出remote_branch