21

这真让我抓狂。

我在托管公司托管的 Linux 服务器中创建了一个 git 存储库。

我使用 Eclipse EGit 将其克隆到本地副本。

然后我在服务器的原始 git 存储库中创建了一个分支。

如何使用 Eclipse EGit 将分支复制到本地副本?

当我在 EGit 中打开 Git 存储库时,我看到:

- Local
-- master

- Remote Tracking
-- origin/development
-- origin/master

如何使用 EGit 在本地获取起源/开发?

我知道我可以创建一个新的克隆,但我不想这样做,因为我相信必须有办法只获得新的分支。

第二个问题- EGit 中的 pull 命令在哪里?我能够找到 fetch 命令,但是当我运行它时,它说没有可取的东西。参考规范是:

+refs/heads/*:refs/remotes/origin/*

第三个问题- 有没有办法在我的 Windows 系统中从 Eclipse 内的命令行处理 git 命令?我曾想过尝试从命令行进行拉动,但我在本地系统中找不到它。

谢谢你。

4

4 回答 4

22

我也一直在搜索大约几个小时以了解如何在 Eclipse EGit 中获取远程分支......

此错误报告中说明了解决方案。如果你知道怎么做,这真的很容易——不需要使用 git 的命令行版本,即使它在 99% 的情况下都有效——可能会有风险,因为我已经遇到了它干扰 Eclipse 的问题和EGit。

只需按照以下步骤操作:

  1. 首先确保您已打开 EGit Repository view。如果您还没有打开它,请转到“窗口→显示视图→其他...”,然后从那里选择“Git→Git Repositories”。
  2. Repository view选择“分支机构→远程跟踪”。您应该已经在那里看到了您的远程分支(例如:)origin/new_feature
  3. 右键单击您希望与本地分支一起使用的远程分支。选择“创建分支...”
  4. 默认值应该没问题。通常你不应该在这里改变任何东西。请注意,如果您不知道自己在做什么,则不应将“拉动策略”更改为“合并”以外的其他内容否则,拉取上游更改可能会导致数据丢失。
  5. 单击确定“完成”,您就完成了:)
于 2014-04-10T12:59:33.287 回答
18

您的 fetch 是最新的,因为您已经将所有内容复制到本地存储库。拉动将合并origin/development到主控中,这不是您想要的。您想创建一个新的分支origin/development作为起点。我不知道如何用 egit 来做,但是在命令行上,你可以:

git checkout -b development origin/development
于 2011-09-07T06:46:15.680 回答
4

我也遇到了同样的问题,我是这样解决的:

  1. 打开 Git 透视图

  2. 首先,您必须在Remote Tracking下的存储库中拥有要签出的分支。我的问题是我在这里看不到远程分支,所以为了解决这个问题 - 在存储库上执行取,这个命令应该让你得到远程跟踪下的所有分支

  3. 右键单击(远程)分支,签出,签出为新的本地分支
于 2015-10-26T12:23:15.180 回答
2

要在 sts 中获取其他分支,如果 pull 不起作用,请尝试这个 Team >> Remote>> Cofigure fetch from upstream stream>Advanced> Check branch you want in source ref: > 然后添加规范

于 2020-02-11T13:00:25.923 回答