这是一个测试代表,展示了这个问题:https://bitbucket.org/vektor330/bugtest
事件的顺序是这样的:
Conflict和source到develop.Conflict到master.develop到master,在解决冲突Conflict使用"地雷"策略,删除source从资源库中.现在这是一个空提交,但可以提交并推回到远程.结果是:source已完全从存储库中消失.它出现在7dfa23e中,它有一个日志出现在回购中,它在5080a24中悄然消失,没有一条痕迹.
我希望提交5080a24显示" source已删除",Git或我的期望有什么问题?
为什么这不会显示为"合并提交的内容".
您可以通过依次选择合并提交和两个父项中的每一个来可视化合并提交的内容.
当您在开发分支中选择(在SourceTree中)时(除了合并提交),您清楚地看到files_to_lose/source已被删除:

为什么提交本身不显示丢失的文件?
因为在合并提交的情况下,有两个父进行比较.SourceTree没有提供针对这两个父母的差异.
当您只选择合并提交时,Mac或Windows的GitHub会这样做:

简而言之,这不是关于Git,而是关于您正在使用的Git GUI.