这不是搏眼球写的标题,说实话当时自己也怀疑人生排查了很久,下面直接复现那个幽灵删代码场景。 首先看develop分支上,是有这个Experiment类的(为了案件重演,我reset --hard 回当时那个commit id) 然后再看当时的我的本地分支,也是有这个Experiment类的,所以肯定不是我删掉的 但是由于Develop和local分支都改到了这个文件,所以有冲突了: 有冲突,没问题,那就看着develop和local解决,哪些以谁为准,都可以商量 但是就在这时!奇葩的一幕出现了!合并result不为空但是左右为空!而我还没意识到问题的严重性!而我只是单纯以为dev最新代码把这个文件没用删掉了或者移动到其它位置了!