如何在Eclipse Git远程跟踪中显示新分支?

41

我有一个已存在的Eclipse git项目,在本地和远程跟踪中都有主分支和开发分支。我刚刚在git仓库中添加了一个新分支,但我不知道如何在Eclipse中显示它。

我已经试图研究这个问题,但似乎它应该自动显示出来。我找到了很多类似的问题,但它们都似乎处理的是完全空的远程跟踪文件夹的问题,而不是我缺少一个单独新分支的问题。我已经有主分支和开发分支了。

以下方法无效:

  • 在Git存储库窗口中点击刷新。
  • 任何所能找到的同步、拉取或其他更新方式。

以下方法有效:

  • 右键单击远程跟踪文件夹,选择“粘贴存储库路径或URI”。如果我这样做,并选择与已经存在的路径完全相同的路径,我就可以看到我的新分支。此操作需要我再次完全克隆整个存储库到一个空文件夹中,这显然不是这个方法的预期使用方式。
  • 我认为使用某种命令行工具可能会起作用,但我真的想要一个Eclipse解决方案,因为我相信它存在,只是我缺少一些东西。
5个回答

102

Git Repositories视图中:

  1. 右键单击存储库并选择从上游提取
  2. 如果新分支未显示在 分支/远程跟踪 下方,则必须进行配置提取:
    1. 右键单击Remotes/origin下的提取节点,然后选择配置提取...
    2. 配置提取中,确保只有一个Ref映射(假定远程命名为origin+refs/heads/*:refs/remotes/origin/*
      Configure fetch

1
该死,在我的最新尝试中,我竟然混淆了两个不同的存储库。所以这确实有效。非常感谢! - jumps4fun
请确保在上述对话框的URL字段中显示您的分支存储库的URL。 - not2savvy
我该怎样将这个配置应用至所有项目?目前我必须针对每个项目进行单独的配置。谢谢。 - Darkfalk
1
@Darkfalk 这个配置存储在 Git 配置中。所以我想,你可以在“窗口 > 首选项:团队 > Git > 配置”中将这个设置从“仓库设置”选项卡复制到“用户设置”选项卡中,以便将其应用于所有 Git 仓库,尽管我自己没有尝试过。 - howlger
1
@lingar 是的,谢谢。我将这个添加到答案中,因为遥控器可能有不同的名称。 - howlger
显示剩余2条评论

6
如果右击仓库后您没有看到从上游获取(Fetch from Upstream),您可以寻找从源获取(Fetch from origin)
请参考下图:enter image description here

2

对我来说,解决方案几乎与Joshua建议的相同,但它并没有按照描述的那样工作。对我来说,解决方案是将[remote "origin"]属性配置如下:

[remote "origin"]
    url = your_git_url.git
    fetch = refs/heads/*:refs/remotes/origin/*

或者,您也可以从Eclipse UI中进行操作:

从源获取...,然后点击配置...,在配置窗口中点击高级...,然后您就有了添加预定义规范选项,您可以选择添加所有分支规范。这将导致与上述相同的配置:

Advanced fetch configuration menu

也许你需要删除原始条目,这将被Eclipse指出为重复项。

对我来说,这个窗口是这样的:右键单击存储库,“远程->获取...”,“下一步”按钮。 - tpcordeiro

0
您需要修改本地git存储库文件夹中的“config”文件。例如,您将远程分支项目克隆到c:\ git \ MyProject本地文件夹中。在此文件夹中有一个名为“.git”的隐藏文件夹,其中包含一个“config”文件。该文件中有一个类似于以下内容的部分:
[remote "origin"] url http://xxxxxxxxxxxxxxxx fetch = +refs/heads/Project:refs/remotes/origin/Project
您需要按照以下方式修改此部分: [remote "origin"] url http://xxxxxxxxxxxxxxxx fetch = +refs/heads/:refs/remotes/origin/ 然后返回Eclipse IDE,在存储库上右键单击并执行“从原点获取”。现在所有分支都将显示出来。

-3
我做了以下几步: 1. 断开连接。 2. 刷新并拉取。然后,它会显示新的分支。 3. 创建本地分支并拉取。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接