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

How to configure workspace with egit/eclipse so my changes go to branch on fork

我正在使用一个不属于我的 github 项目。我最初将此项目克隆到我的 Mars.1 工作区以进行初步检查和调试。

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

我现在至少知道要进行两组更改。我在 github 中分叉了原始项目,并在 github 中创建了一个分支,我打算在其中实施第一组更改。

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

此时我所能想到的就是在 eclipse 中创建一个指向我的叉子的遥控器。我此时只定义了推送配置,而不是获取配置(目前只有我一个人在做这个)。

我不明白需要执行的后续步骤。我已经通读了 EGit 用户指南,但这并不能帮助我回答这个问题。我在非 Eclipse 论坛上问过这个问题,但他们都告诉我忽略 Eclipse 并在命令行中执行此操作,或者解释我显然不知道的 git 结构的段落回购

在 EGit 团队的 Matthias Sohn 的帮助下,我能够继续推进这项工作。

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

EGit 让我更难理解的一件事是,在第一次创建时在远程上创建 "Fetch" 配置与之后设置 "Push" 配置之间的区别关于第一次创作。您会注意到,当您第一次创建 Remote 时,您可以选择设置 "Push" 配置或 "Fetch" 配置,但不能同时设置。事实证明,如果您 select "Fetch" 配置,它会为您提供合理的初始映射默认值,但如果您之后创建 "Fetch",则必须手动创建映射,而且它没有建议合理的默认值。