我在一个机器人团队工作,该团队使用来自机器人竞赛领导者的代码,但我们对代码进行了自己的修改。他们推出了对代码的更新,但是当我将它合并到我们的代码中时,GitHub想要删除我们的修改(因为它们在头部分支中没有)。什么是防止这种情况发生的最佳方法。
大多数更改都可以正常使用,但有些更改需要保留,就像我在下面附带的图片一样。
答案 0 :(得分:0)
Git不应该“坚持删除它们”,而应该将其报告为冲突,您现在应该以您想要的方式解决冲突。如果你在过去早些时候做了一些“坏事”,Git可能会被一个奇怪的历史结构所欺骗,并且可能以错误的方式解决冲突。此外,如果您使用rerere
,那么它可能会记住一些错误的合并片段,现在它们被重用以跳过这些冲突。你可能想要检查和修复这些东西..
但是,无论如何,如果git merge
没有给你手动解决冲突的机会,你总是可以在--no-commit --no-ff
命令和git merge
之后添加git merge
标志。您将能够更正文件并手动提交合并。之后它应该没问题,未来的合并不应该在这个文件的这一部分出现问题。
..嗯......除非你要合并一个不共享任何历史记录的单独的存储库/分支。在您的Git仓库中,您的代码库基于其远程代码,对吧?或者您是否复制了代码而没有跟踪信息?或者您以前使用过squash合并来合并他们的更改?无论如何,它应该被报告为冲突。如果是 - 这是正常的。只是解决冲突。