找到删除文件的git merge commit?

时间:2019-01-17 10:56:29

标签: git

我最近用

查看了文件的历史记录
 git log --full-history -- file

,它发现添加了该文件的单个提交和一些合并提交,但没有指示这些提交删除了文件。仍在HEAD中,该文件不存在。经过一番挖掘之后,我发现该文件已作为所列合并提交之一的一部分被删除(通过重新创建合并并将结果与​​原始合并进行比较)。例如,请使用以下shell命令创建的历史记录:

$ git init
Initialized empty Git repository in $PWD/.git/
$ echo content1 > file1
$ git add file1
$ git commit -m commit1
...
$ echo content2 > file2
$ git add file2
$ git commit -m 'commit2'
...
$ git checkout @~
...
$ git merge --no-ff --no-commit @{-1}
Automatic merge went well; stopped before committing as requested
$ git rm -f file2
rm 'file2'
$ git commit --no-edit

现在git log --full-history -- file2列出了两个相关的提交,但是查看合并提交(例如使用git show),file2在那里消失并不明显。

我很清楚为什么git show不会告诉您该信息,并且在大多数情况下,这是明智的。我仍然想知道如何在更复杂的历史中确定这种承诺。有准备好使用的东西吗?还是需要重新创建所有合并的树?

0 个答案:

没有答案