git - Git获取远程分支

  显示原文与译文双语对照的内容

branch,处的我的同事和我正在同一个存储库中我们已经逐渐扩展成以下两个分支每个技术上对于不同的项目,但它们有相似之处,因此有时候我们会想要提交回

但是,我有分支,我的同事如何才能明确地拉动分支。 我end,后打开unfuddle一个推一个的git clone 回购好像不能创建这个分支到本地供他,但我可以看到它们 live.

任何帮助都将非常有用。

*Edit, 当我最初做分支时我做了-b检查。 不确定这是否有很大的区别?

*Edit 2


iMac:test_solar dave$ git branch -r
origin/HEAD -> origin/master
origin/daves_branch
origin/discover
origin/master

git fetch origin discover
git checkout discover

这是我运行的命令。 但是绝对没有 workey 。我希望能够检查这个分支,然后再提交并提交来自不同合作者或者工作站的分支。

时间:

我使用了 fetch,其后跟 checkout 。。


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

- - 其中 <rbranch> 是远程分支的本地分支或者目标不存在或者源 ref 和 <lbranch> 是如但 ref 要跟踪远程分支或者来源,哪些你可能想一样的名字多介绍点生意 在选项中解释 <refspec>的解释。

前几个字母后远程 branch, Git是如此的智能在它自动完成第一个命令如果我. 选项卡 IE: 我甚至不必命名本地分支,Git自动复制远程分支的名称。 感谢 Git !

我认为 fetch的一些文档可能是从 pull 。html中逐字复制的。 在选项上剖切same,尤其是 但是,我不相信 fetch 将曾经 merge 离开目标端结肠空,这样如果你 fetch应该做什么

注意: git fetch <remote> <refspec> 是短 git fetch <remote> <refspec>: 所以什么也不做,但是 git fetch <remote> <tag> 是一样的 git fetch <remote> <tag>:<tag> 应该在本地复制远程 <tag>

我想这仅仅是有益的,如果你想复制一个远程分支在本地,但不一定是立刻将它的签出。 不然的话,我现在会用 上方被广泛接受的答案,并且被解释 结帐的第一部分中详细的说明及更高版本在选项部分中对 --track的解释下,因为它是一个 1 -liner 。

相关删除远程分支,供参考:的顺序 <refspecs> ( 源:目标) 解释了光怪陆离的预 Git-1.7 method. IE: 将任何东西推入目标 refspec 。

要签出远程而不是本地的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 branch -a ( 本地和远程分支) 或者 git branch -r ( 只远程分支) 查看所有遥控器及其分支。 然后你可以做一个 git checkout -t remotes/repo/branch 到远程并创建一个本地分支。

还有一个 git ls-remote命令来查看这个遥控器的所有裁判和标签。

标题的标题和问题会被混淆:

  • Git获取远程分支
  • 我的同事怎么能把那个分支拉出来。

可是,如果你使用或者如何 git checkout的步骤我怎么跟远程分支远程分支,一个简单的解决方案是:

使用 git (> = 1.6.6 ),你可以使用:


git checkout <branch_name>

以匹配的名称,将它的看作等效to,如果本地找不到 <branch_name> 但中确实存在一个跟踪分支有且仅有一个 remote:


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

查看 git checkout的文档

为你的朋友:


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

我输入


git checkout <branch_name>

并得到


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

步骤如下所示:

  1. git fetch origin 或者 git fetch --all,这将把所有的远程分支都获取到你的本地,然后这是你可以处理的第二个选项。

  2. git checkout --track origin/<The_remote_branch you want to switch over>

然后在这里分支上工作,你可以验证你是否在该分支上,或者是否通过键入

 
git branch

 

它显示你当前所在的分支。

有时你被要求不摆弄主分支,只工作远程分支( 当我被要求) 。 所以你所需要的就是远程分支。

所以要单独克隆远程分支( 没有主控形状),这样做


git clone url --branch remote_branch_name

其中,remote_branch_name是远程分支的名称

比如,


git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git --branch v3.15

这将确保你使用远程分支的名称将远程分支克隆到本地分支。

现在如果你提交代码并推送,代码将单独提交到该分支。

...