我正在将变更从分支合并到我们团队在GitLab上的主仓库中。
奇怪的是,连同我的提交,合并是在说其他文件已更改,而我尚未处理过的文件。并且它显示的更改已经在我要合并的上游主服务器中已经存在。什么?
这是我的工作流程:(步骤9是我遇到麻烦的地方。)
逐行进行比较,将“更改”与上游其他文件中的更改进行比较,我可以看到上游主机中已经存在这些更改。
为什么git会这样做?这真让人感到不安,就像我做错了事,而且每次遇到这个怪异现象时,我都会默认将这些更改默认合并,因为这些其他文件是我的队友一起工作-我不是100%确信我的前叉功能确实具有最新最好的代码。
我在做什么错?
谢谢!
答案 0 :(得分:2)
据我所知,造成混乱的是您的fork分支(又称为步骤7)中master的重新部署。
通过重新基准化,您可以放下所有合并并更改提交哈希,从而创建新的提交。
您可以:
git merge
而不是在步骤7中重新定位
git rebase --preserve-merges
为完全理解其含义,我建议阅读对该问题的详细记录的答案:What exactly does git's "rebase --preserve-merges" do (and why?)