我有两个分支:master
和一个运行时间很长的功能分支,称为feature
。我不断地从master
合并到feature
。
我的合并冲突之一是:
Unmerged paths:
(use "git add/rm <file>..." as appropriate to mark resolution)
deleted by us: foo.file
我将其解释为意味着文件已在master
上更新,但在feature
上已删除。我想看看哪个feature
提交删除了它。按照Find when a file was deleted in git,我尝试了:
$ git log --oneline --name-status --full-history -- foo.file
0e051cd636 (feature) Merge from master
ee5c4f1ccc (feature) Merge from master
c200d5d8b2 (master) Add foo.file
A foo.file
我希望看到D foo.file
中的--name-status
行,但我没有。当我对两个合并提交执行show
时,输出为空:
$ git show 0e051cd636 -- foo.file
$ git show ee5c4f1ccc -- foo.file
$
我也尝试了链接问题中建议的rev-list
,但它的输出也为空:
$ git rev-list -n 1 HEAD -- foo.file
$
所以,如何确定该文件何时删除?
将列出从git存储库中删除的所有文件:
git log --diff-filter=D --summary
因此您会看到所有已删除的文件,其中带有提交哈希的文件将在此删除。