- 蓝色,黄色代表两条分支线。黄色分支应该是从蓝色分支检出的:
- 蓝色分支进行了一笔commit,修改了两个文件:
- 黄色分支进行了一笔commit,修改了两个文件:
- 这时候奇怪的事情发生了,当蓝色分支合并黄色分支时,出现了步骤2/3两笔commit都没有出现过的修改内容(灰色箭头指着),包括文件和修改内容都有不同。
请问下各位,为什么会出现这种情况呢?明明两边都没有修改的内容,却在merge后出现了。而且我发现merge那笔commit改动的文件,只有在那笔commit中发生了改动,git tree中也找不到了。难道是因为有人删除了分支造成的?烦请各位赐教~
merge 的时候是可以引入修改了,比如冲突了的时候,需要人工解决。没有冲突,也可以使用
--no-commit
只 merge 不 commit,然后加入一些额外的修改之后再 commit 。所有的修改都会属于这个 merge commit ,但是此时引入的修改不存在于参与 merge 的任何一个分支,只存在于这个 merge commit 。这个时候改啥都可以,包括修改参与 merge 的分支都没有修改的文件。