我使用 SourceTree 和 git flow (按下按钮)创建了一个功能分支。然后我尝试将这些分支克隆到存储库的另一个本地副本中,但我无法再在本地获取这些分支。例如,如果我发出:
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
所以 Remote /*是由git flow创建的。我只手动创建了开发和掌握
但是如何轻松地将所有 Remote 克隆回本地驱动器?
我试过了
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 下的分支。它创建一个 pop 窗口来检查新分支;默认值应该没问题。
也就是说,您所描述的行为有点奇怪。当您克隆本地存储库时,您应该获得精确的副本,包括功能分支。你说你试图“克隆这些分支”。您克隆存储库,而不是分支。您可以使用 --single-branch
选项克隆存储库的副本,仅获取一个分支(请参阅 docs ),但此用途有限。
关于git - 获取使用 gitflow 创建的分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36024169/