7

我熟悉git blame在命令行上使用来显示哪个提交更改了文件的特定行。

是否有类似的功能来显示哪个提交最后更改了文件“模式”/标志?例如设置或取消设置可执行标志。

4

3 回答 3

6

您可以使用git log标志--summary并在输出中搜索模式更改:

git log --summary -- path/to/file

文档中:

- 概括

输出扩展标题信息的简明摘要,例如创建、重命名和模式更改。

于 2017-08-24T09:49:18.970 回答
4

有一些grephead

$ git log --summary --format=%h | grep 'mode change' -m1 -B2 | head -1

它将打印SHA-1包含mode change. 如果要跟踪特定文件:

$ git log --summary --format=%h <FILE> | grep 'mode change' -m1 -B2 | head -1
于 2017-08-24T10:07:59.527 回答
1
git log --summary --pretty=oneline | grep -B1 '^ mode change'

将给出如下输出:

$ git log --summary --pretty=oneline | grep -B1 '^ mode change'
2edfdb6dd322d31818998fb4fb588394d57fd1b4 Remove executable flag
 mode change 100755 => 100644 path/to/file
--
8b8c539cfaeda7f15be53839561dcae4f4a69f5e Make the file executable
 mode change 100644 => 100755 path/to/file
于 2017-08-25T08:50:50.357 回答