如何查看重命名目录的日志?

时间:2018-11-22 07:28:43

标签: git git-log

假设我有一个具有此目录结构的存储库:

my-projects
├── .git
├── project-a
│   ├── sun.hs
│   └── rain.hs
└── project-b
    ├── earth.ml
    └── moon.ml

要查看我对project-a所做的所有更改,可以执行git log --oneline project-a

646fe67 Add rain.hs
752a061 Change color of sun
9edcc0c Add sun.hs

到目前为止,一切都很好。但是,假设我现在将project-a目录重命名为project-1

git mv project-a project-1
git commit -m 'Rename project-a to project-1'

要查看project-1(前一个project-a)的日志,请执行git log --oneline project-1

82442bb (HEAD -> master) Rename project-a to project-1

哦,不!它没有显示我对sun.hsrain.hs所做的更改!此输出本来会有用得多:

82442bb (HEAD -> master) Rename project-a to project-1
646fe67 Add rain.hs
752a061 Change color of sun
9edcc0c Add sun.hs

但是我该怎么做呢?即如何显示重命名目录的完整日志?

我知道git log --follow project-1/sun.hs可以正确显示文件的日志,但这仅适用于一个文件。在目录上使用时,--follow选项无效。

1 个答案:

答案 0 :(得分:0)

不幸的是,你不能。

Git不存储文件夹名称,它存储文件路径,因此您无法跟踪文件夹重命名。

您所能做的就是编写一个脚本来完成它。

例如:

  • 循环遍历所需文件夹中的文件名
  • 使用git log --follow -- <file name>