我熟悉git blame
在命令行上使用来显示哪个提交更改了文件的特定行。
是否有类似的功能来显示哪个提交最后更改了文件“模式”/标志?例如设置或取消设置可执行标志。
您可以使用git log
标志--summary
并在输出中搜索模式更改:
git log --summary -- path/to/file
从文档中:
- 概括
输出扩展标题信息的简明摘要,例如创建、重命名和模式更改。
有一些grep
和head
:
$ 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
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