我正在处理一个不属于我的 github 项目。我最初将此项目克隆到我的 Mars.1 工作区以进行初步检查和调试。
请注意,我在 EGit 论坛 https://www.eclipse.org/forums/index.php/m/1715162/#msg_1715162 上发布了类似的问题.
我现在知道至少要进行两组更改。我已经在 github 中 fork 了原始项目,并在 github 中的该 fork 中创建了一个分支,我打算在其中实现第一组更改。
此时我不清楚的是如何正确配置我的 Eclipse 工作区,以便我现在所做的更改将被提交并推送到我的分支上的分支中。我最终将针对这些更改提交 PR,但我还将使用生成的代码库播种一个单独的 git 存储库。
此时我所能想到的就是在 Eclipse 中创建一个指向我的 fork 的远程。我此时只定义了推送配置,而不是获取配置(我是目前唯一一个从事此工作的人)。
我不明白所需的后续步骤。我已经阅读了 Egit 用户指南,但这并不能帮助我回答这个问题。我在非 Eclipse 论坛上询问过这个问题,但他们都告诉我忽略 Eclipse 并在命令行中执行此操作,或者详细阐述我显然不了解 git 存储库结构的段落。
最佳答案
在 EGit 团队的 Matthias Sohn 的帮助下,我已经能够继续推进这项工作。
我错过的关键是我只在 Remote 上设置了“推送”配置。具有讽刺意味的是,“Fetch”配置更为重要。当远程获取 Fetch 配置时,它会 pull 下有关我的分支的信息,然后我就可以切换到该分支。然后我就可以进行更改、提交并推送到我在 github 上的分支。我还为原始项目创建了 PR。
EGit 的一件事让我更难弄清楚,那就是第一次创建时在远程上创建“Fetch”配置与之后在第一次创建时设置“Push”配置之间的区别。您会注意到,当您第一次创建远程时,您可以选择设置“Push”配置或“Fetch”配置,但不能同时设置两者。事实证明,如果您选择“Fetch”配置,它会为您提供初始映射的合理默认值,但如果您之后创建“Fetch”,则必须手动创建映射,并且它不会建议合理的默认值。
关于java - 如何使用 egit/eclipse 配置工作区,以便我的更改转到 fork 上的分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33816787/