如何使用egit/eclipse配置工作区,以便我的更改转到fork上的分支



我正在处理一个我不拥有的github项目。我最初将这个项目克隆到Mars.1工作空间中进行初步检查和调试。

注意,我在EGit论坛上发布了一个类似的问题https://www.eclipse.org/forums/index.php/m/1715162/#msg_1715162.

我现在知道至少有两套我想做的改变。我已经在github中分叉了原始项目,并在github中的分叉中创建了一个分支,我打算在中实现第一组更改。

在这一点上,我不清楚的是如何正确配置我的Eclipse工作区,以便我现在所做的更改将被提交并推送到我的分叉上的分支中。我最终会提交这些更改的PR,但我也会用这个生成的代码库播种一个单独的git repo。

在这一点上,我所能想到的就是在eclipse中创建一个指向我的fork的远程。我现在只定义了push配置,而没有定义fetch配置(我是目前唯一一个这样做的人)。

我不明白接下来需要采取什么步骤。我已经阅读了EGit用户指南,但这并不能帮助我回答这个问题。我在非Eclipse论坛上问过这件事,但他们都告诉我忽略Eclipse,在命令行中执行,或者在段落中阐述我显然不知道的git repo结构。

在EGit团队的Matthias Sohn的帮助下,我得以继续前进。

我缺少的关键是我只在遥控器上设置了"推送"配置。具有讽刺意味的是,"获取"配置更为重要。当远程获取Fetch配置时,它提取了关于我的分支的信息,然后我就可以切换到它。然后我就能够在github上进行更改、提交和推送到我的分支。我还创建了原始项目的PR。

EGit让我更难弄清楚的一件事是,如果在第一次创建时设置"Push"配置,那么在第一次建立时在Remote上创建"Fetch"配置与之后的配置之间的区别。您会注意到,当您第一次创建Remote时,您可以选择设置"Push"配置或"Fetch"配置,但不能同时设置两者。事实证明,如果你选择"Fetch"配置,它会为你的初始映射提供一个合理的默认值,但如果你在之后创建"Fetch)",你必须手动创建一个映射,它并不建议你使用合理的默认设置。

最新更新