获取使用 gitflow 创建的分支?

fetching a branch created with gitflow?

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

git 分支-v -a,我看到了这个:

gmmo@DESKTOP-GIMBJM0 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 流程创建的。我只手动创建了 develop 和 master

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

我试过了

git fetch

但不确定它做了什么,因为如果我发出

git branch

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

* develop
  master
gmmo@DESKTOP-GIMBJM0 MINGW64 /C/Dogwood (develop)

是否有一种简单的方法可以克隆所有这些分支,而无需重新克隆整个存储库?

谢谢!

如果想在本地获取远程分支,需要查看一下。 当你做

git checkout feature/cleanups

git 应该足够聪明,可以识别它是一个远程存储库,并自动创建跟踪远程版本的分支的本地副本。如果这不起作用,您可能 运行 是 git 的旧版本,我建议尝试更新。适用于旧版本的替代方法是

git checkout --track origin/feature/cleanups

您也可以使用 SourceTree。找到并双击 Remotes > origin 下的分支。它创建一个弹出窗口来检出一个新的分支;默认值应该没问题。

也就是说,您描述的行为有点奇怪。当你克隆一个本地存储库时,你应该得到一个精确的副本,包括特性分支。你说你试过"clone these branches"。您克隆存储库,而不是分支。您可以使用 --single-branch 选项(请参阅 docs)克隆一个存储库的副本,只获得一个分支,但此用途有限。