我已经浏览了我的历史,却一无所获。我可以看到创建和修改它的提交,但它不再存在,我无法弄清楚它被删除的位置。
例如:
git log --full-history --all --diff-filter=D --summary -- path/to/file
什么都不返回。另外,为了确保我的工作副本与git的状态不同步(这甚至可能吗?)我试过:
git checkout -- path/to/file
我也尝试过* lot *的日志命令。我检查了github(托管repo的地方),文件也不是。我检查以确保我可以找到该文件的最后一次提交是完全合并的,它是(git branch --merged
包含文件分支)
我知道合并提交似乎并没有显示更改内容的日志,是否有可能在合并期间意外删除了文件?或者它仍会出现在日志中?有没有办法在合并提交中获取一些日志信息?
更新:
这是此命令的(删节)输出:
git log --oneline -p -M --follow HEAD -- path/to/file
aaaaa this commit creates it again ?
diff --git a/path/to/file b/path/to/file
new file mode 100644
index 0000000..3333333
--- /dev/null
+++ b/path/to/file
bbbbb this commit modifies it
diff --git a/path/to/file b/path/to/file
index 1111111..2222222 100644
--- a/path/to/file
+++ b/path/to/file
ccccc this commit creates the file
diff --git a/path/to/file b/path/to/file
new file mode 100644
index 0000000..11111111
--- /dev/null
+++ b/path/to/file
答案 0 :(得分:2)
如果文件已被删除或重命名,则在git log --all --oneline -c -p -- path_to_file
的输出中,预计会找到--- a/path/to/file +++ /dev/null
。这是删除或重命名文件的提交。如果在合并提交中发生了删除或重命名,-c
也可以输出diff stat。