防止 Git/Github 删除一些代码

Prevent Git/Github from removing some of code

我在一个机器人团队工作,该团队使用机器人竞赛领导者的代码,但我们自己对代码进行了修改。他们推出了对其代码的更新,但是当我将其合并到我们的代码中时,GitHub 想要删除我们的修改(因为它们不在 head 分支中)。什么是防止这种情况发生的最佳方法。

大部分更改工作正常,但我需要保留一些更改,如下面所附的图片所示。

Git 不应该 "insists on removing them" 而是应该将其报告为冲突,您现在应该按照您想要的方式解决。如果你在过去早些时候做过一些 "bad things",Git 可能会被奇怪的历史结构所愚弄,并可能以错误的方式解决冲突。此外,如果您使用 rerere,那么它可能会记住一些错误的合并片段,现在可以重新使用它们来跳过这些冲突。您可能想要检查和修复这些东西..

但是,无论如何,如果 git merge 没有给你手动解决冲突的机会,你总是可以在 git merge 命令中添加一个 --no-commit --no-ff 标志,并在 git merge 您将能够更正文件并手动提交合并。之后它应该没问题,以后的合并在这个文件的这一部分应该不会有问题。

..hm.. 除非您要合并一个不共享任何历史记录的单独 repositories/branches。在您的 Git 存储库中,您的代码库基于他们的远程代码,对吧?或者您是否在没有跟踪信息的情况下复制了代码?或者,也许您以前使用过 squash merges 来合并他们的更改?无论如何,它应该被报告为冲突。如果是 - 那是正常的。解决冲突就好了。