远程存储库包含各种分支,如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<你朋友的分行名>应该可以做到这一点

其他回答

git fetch&&git checkout<你朋友的分行名>应该可以做到这一点

帮助我的是

1) 查看所有可用的远程分支(例如“远程分支名称”)

git branch -r

2) 使用远程分支名称创建本地分支

git fetch && git checkout 'remote-branch-name'

我使用了先取后结账。。。

git fetch <remote> <rbranch>:<lbranch>
git checkout <lbranch>

…其中<rbranch>是远程分支或源引用,<lbranch>则是您希望跟踪的尚未存在的本地分支或目标引用,您可能希望将其命名为与远程分支或目标参考相同的名称。这在<refspec>解释中的选项中进行了解释。

Bash非常聪明,如果我在远程分支的前几个字母后制表,它会自动完成第一个命令。也就是说,我甚至不必命名本地分支机构;Bash自动为我复制远程分支的名称。谢谢,Bash!

同样,正如这篇类似的StackOverflow文章中的答案所示,如果您没有在fetch中命名本地分支,那么您仍然可以在使用-b标志签出它时创建它。也就是说,git fetch<remote><branch>后接git checkout-b<branch<remote</<branch>与我的初始答案完全相同。显然,如果您的存储库只有一个远程,那么您只需在fetch之后执行git checkout<branch>,它就会为您创建一个本地分支。例如,您刚刚克隆了一个存储库,并希望从远程查看其他分支。

我相信,提取的一些文档可能是从pull中逐字复制的。特别是选项中关于<refspec>的部分是相同的。然而,我不相信fetch会合并,所以如果您将冒号的目标端留空,fetch应该什么都不做。

注意:git fetch<remote><refspec>是git fetch<remote><refspec>的缩写:因此它不会做任何事情,但git fech<remote><tag>与git feach<remote>><tag>:<tag>相同,它应该在本地复制remote<tag>。

我想,只有当您想在本地复制远程分支时,这才有用,但不一定要立即检查它。否则,我现在将使用已接受的答案,这将在结账说明的第一部分和稍后选项部分的--track解释中详细解释,因为它是一行代码。好有点像一行程序,因为您仍然需要先运行gitfetch<remote>。

仅供参考:<refspec>(来源:destination)的顺序解释了Git1.7之前删除远程分支的奇怪方法。也就是说,不将任何内容推入目标refspec。

git fetch

git branch -r

git checkout <branch_name>

假设你的遥控器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分支。