为什么这个git提交存在于日志中但不存在于文件的日志中?

时间:2012-02-14 22:38:39

标签: git

如何调查此提交的删除方式?

以下命令在日志中不显示提交历史记录:

  • git log -p apps/grants/views.py
  • gitk apps/grants/views.py

但以下都显示了日志中的提交:

  • git log
  • git log --follow -p apps/grants/views.py
  • git show 5034d44861fcc39fc28b069501577c8d15321b4f

更新:在提交中没有重命名文件。这是git log --stat

的输出
 apps/articles/views.py                    |    4 +-
 apps/grants/tests.py                      |   16 +++++++-----
 apps/grants/views.py                      |   20 +++++++++------
 static/css/modules.css                    |   36 ++++++++++++++--------------
 templates/articles/learning_landing.html  |    2 +-
 templates/grants/fellow_detail.html       |   10 ++++++++
 templates/modules/fellow_search_form.html |    2 +-
 7 files changed, 53 insertions(+), 37 deletions(-)

3 个答案:

答案 0 :(得分:9)

通常发生错误合并(即合并冲突)

为了找到它

git log -U -m --simplify-merges --merges -- filename

您将看到缺少的代码以及提交ID

答案 1 :(得分:4)

事实证明,某人的合并提交是罪魁祸首。任何没有的信息 包含在合并中丢失了。并且由于合并提交没有添加或删除任何它没有显示在文件的日志运行中。

赠品是git show 5eaa666只有我的一部分更改。

我通过樱桃采摘添加了提交:git cherry-pick 5034d44

答案 2 :(得分:1)

提交后发生了什么?该文件目前是存在还是历史存在?

如果它已经重命名,那么您只能通过git log使用--follow参数轻松“找到”它,如您所见。