我在 Git For Windows(以前称为 msysgit)1.7.10.msysgit.1 上运行 Git Extensions 2.32。
另一个用户创建了一个新分支并将其推送到远程存储库。我想将该新分支提取到我的本地存储库。
这张图片显示了我正在尝试做的事情。主当前已签出,另一个用户添加了一个新分支“brentfo”,他已将其推送到远程存储库。我现在想将该新分支提取到我的本地存储库。
我打开 Git Extensions Pull 对话框,如图所示。我使用合并选项“不合并,仅获取远程更改”从源中提取,选择新的远程分支“brentfo”。当我单击 Pull 按钮时,我会看到一个进度对话框:
c:\Program Files (x86)\Git\bin\git.exe fetch --progress "origin" +refs/heads/brentfo
Done
From //dnzchfile1/git-chch$/mRouteDotNET
* branch brentfo -> FETCH_HEAD
进度对话框不显示任何错误。该过程似乎正常完成。
FETCH_HEAD 文件显示以下内容:
eea033921fea43acf34a5baa380d1666181b56aa branch 'master' of //server/gitrepo/mRouteDotNET
5e0640e42d04a744aae2e95663a13c0747cacaf1 not-for-merge branch 'brentfo' of //server/gitrepo/mRouteDotNET
934e6034c526b703ac69b26497e0131f9bb71c2c not-for-merge branch 'mRoutePCLib' of //server/gitrepo/mRouteDotNET
然而,当我之后查看提交日志时,似乎什么都没有发生(提交日志出现在上图拉对话框图像的背景中)。新分支 brentfo 尚未在我的本地存储库中创建。当我拉下分支的下拉列表时,仍然只有两个:master 和 mRoutePCLib。
如果在“拉”对话框中我没有选择任何远程分支(即留空),我会得到相同的结果。在这种情况下,进度对话框显示:
c:\Program Files (x86)\Git\bin\git.exe fetch --progress "origin"
Done
在早期版本的 Git Extensions 中,似乎曾经存在与从远程分支创建本地分支有关的错误。但是,查看 Git Extensions 项目更改日志,问题似乎早在 1.55 版中就已解决。所以我猜我做错了什么。
我知道我可以使用 Git Bash 控制台来获取远程分支并从中创建一个新的本地分支。但是,似乎我应该能够通过 GUI 做到这一点。
我希望得到以下任一方面的答案:
a) 是的,你做错了,你应该这样做(通过 GUI);或者
b) 这是一个已知问题,您必须从命令行界面 (Git Bash) 执行此操作,直到错误得到修复。
干杯西蒙