好的,当你说你想“切换到主仓库”时,我想到了几件事这可能意味着什么。这不是其中之一。
哎呀...这是先进的...
好的,这是可能的,但这并不简单。做备份,以防万一你搞砸了,所以你可以再试一次。嗯,它不应该真的是必要的,但是有了这样的东西,安全总比后悔好。
TL; DR:创建另一个从 Trinity 分叉的 GitHub 存储库;在本地,在单个存储库中,从 Eluna 和 Trinity 存储库获取提交;从 Eluna 提交树中挑选你的提交到 Trinity 树;推回三位一体回购。
更详细地说:
如果您在 Windows 上,我建议使用TortoiseGit。这是我选择的武器,它既易于使用又先进。如果您不在 Windows 中,或者您有其他更熟悉的工具,则可以使用它。最终,这也可以在命令行中完成——只是更乏味。
所以,这里有几个步骤。
首先,您自己的 github 存储库是从 Eluna 派生的,所以这不会。创建另一个从 Trinity 分叉的。暂时保留第一个,它将作为备份,以防您搞砸并需要重新开始。
然后,转到所有更改所在的本地计算机上的本地副本。确保将所有更改推送到基于 Eluna 的 github 存储库。这是一项预防措施,这样您就不会失去工作。还要检查是否没有本地修改。为了更加安全,也请清理所有未版本控制的文件。让它看起来像是一个新克隆的 repo,没有任何修改。
或者,只需在不同的文件夹中复制基于 Eluna 的 github 存储库。有一个新的开始。
无论如何,下一步 - 制作一些标签。特别是,标记您自己的最新提交,以免丢失它。
然后 - 带来三位一体。在您的本地存储库中,创建另一个远程并使其指向您基于 Trinity 的 github 存储库。从该远程获取更改。不要拉!获取。
现在,您的本地副本将包含来自基于 Eluna 的存储库和基于 Trinity 的存储库的提交混搭,并且每个都有自己的远程。
接下来,从 Trinity 提交创建一个新分支,在其上移动您自己的提交。
现在是困难的部分。您需要做的是挑选您自己的提交,并将它们移动到您的新分支。Cherry 按顺序选择提交,从最旧的开始。在 TortoiseGIT 中,您可以选择多个提交并一次将它们全部挑选出来。
时不时地,您将在其中提取最新的 Eluna 版本并将其合并到您自己的代码中进行合并提交。不要樱桃采摘这些。这只会带来整个 Eluna 项目。只挑选你自己的提交。
很有可能会出现合并冲突,或者您可能编辑了 Eluna 中的一些代码,但 Trinity 中没有。在这种情况下 - 祝你好运!您需要手动弄清楚如何正确挑选该提交。
最后,在几个小时(或几分钟或几天,取决于你在那里做了什么)之后,你将在最新的 Trinity 提交之上挑选出所有提交。呸!
现在检查该项目是否仍然有效。经过这么长时间的樱桃采摘,你很可能错过了一些东西。修复它并提交这些更改。
最后,你有一个基于 Trinity 提交的新分支,它现在还包含你所有精心挑选的提交和其他更改。将其推送到您的 Trinity github 存储库。你完成了!
擦除本地副本并重新克隆基于 Trinity 的 github 存储库以获得全新的状态。