2016-03-15 115 views
0

我创建了一个使用SourceTree和git流(按下按钮)的功能分支。然后我试图将这些分支克隆到另一个本地副本中,但我无法再在本地获得这些分支。举例来说,如果我发出:获取使用gitflow创建的分支?

的Git分支-v -a,我看到:

[email protected] MINGW64 /C/Dogwood (develop) 
$ git branch -v -a 
* develop       de5e2f2 Updated to Build 4.1.6.37 
    master       0aa9613 Release 4.1.6.37 
    remotes/origin/HEAD    -> origin/master 
    remotes/origin/develop   de5e2f2 Updated to Build 4.1.6.37 
    remotes/origin/feature/cleanups ef035e9 Added alert dialog 
    remotes/origin/master   0aa9613 Release 4.1.6.37 

所以遥控器/ *被git的流动产生。我只创建开发和手动掌握

但是,如何轻松地将所有遥控器克隆回本地驱动器?

我试图

git fetch 

,但不知道它做了,因为如果我发出

git branch 

我只有我的驱动器上看到的两个主要分支。

* develop 
    master 
[email protected] MINGW64 /C/Dogwood (develop) 

有没有简单的方法克隆所有这些分支,而不需要重新克隆整个回购?

thx!

+1

你应该可以做git checkout remote_branch_here。 http://stackoverflow.com/questions/1783405/checkout-remote-git-branch –

回答

0

如果你想在本地获得远程分支,你需要检查它。 当你

git checkout feature/cleanups 

混帐应该足够聪明认识到这是一个远程仓库,并自动创建一个用于跟踪远程版本分支的本地副本。如果这不起作用,你可能会运行旧版本的git,我会建议尝试更新。另一种适用于旧版本的方法是

git checkout --track origin/feature/cleanups 

您也可以从SourceTree工作。找到并双击Remotes> origin下的分支。它创建一个弹出框来检出一个新的分支;默认值应该是OK。

这就是说,你描述的行为有点奇怪。在克隆本地存储库时,您应该获得精确的副本,包括功能分支。你说你试图“克隆这些分支”。你克隆版本库,而不是分支。您可以使用--single-branch选项(请参阅docs)克隆仅获得一个分支的存储库副本,但是对此的使用有限。