git merge后出现了新的文件改动?

  1. 蓝色,黄色代表两条分支线。黄色分支应该是从蓝色分支检出的:image.png
  2. 蓝色分支进行了一笔commit,修改了两个文件:image.png
  3. 黄色分支进行了一笔commit,修改了两个文件:image.png
  4. 这时候奇怪的事情发生了,当蓝色分支合并黄色分支时,出现了步骤2/3两笔commit都没有出现过的修改内容(灰色箭头指着),包括文件和修改内容都有不同。 image.png

请问下各位,为什么会出现这种情况呢?明明两边都没有修改的内容,却在merge后出现了。而且我发现merge那笔commit改动的文件,只有在那笔commit中发生了改动,git tree中也找不到了。难道是因为有人删除了分支造成的?烦请各位赐教~

阅读 5.9k
1 个回答

merge 的时候是可以引入修改了,比如冲突了的时候,需要人工解决。没有冲突,也可以使用 --no-commit 只 merge 不 commit,然后加入一些额外的修改之后再 commit 。所有的修改都会属于这个 merge commit ,但是此时引入的修改不存在于参与 merge 的任何一个分支,只存在于这个 merge commit 。

这个时候改啥都可以,包括修改参与 merge 的分支都没有修改的文件。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题