从git文档中,git show --name-only
仅显示已更改文件的名称。但是使用命令git show --name-only
,它会输出其他信息,如提交ID和作者以及提交消息等。
我也知道--pretty=format:<format>
可以格式化输出,但为什么给定空<format>
,输出会在仅使用git show --name-only
时过滤掉其他信息?
编辑:
使用精确命令git show --name-only --pretty=format:
(冒号后没有任何内容),输出正好是已更改文件的行。我的问题更多的是为什么没有格式输出这样的结果?
答案 0 :(得分:2)
执行git show --help
后从“DESCRIPTION”部分:
“对于提交,它显示日志消息和文本差异......”
--name-only
标志告诉它不要包含已更改文件的文本差异。
这里的文档可能会更加清晰。
答案 1 :(得分:0)
执行git show --help
- 漂亮[=] --format =以给定格式打印提交日志的内容,......
有关每种格式的更多详细信息,请参阅“PRETTY FORMATS”部分 格式。 ...
因此,--pretty
会影响提交消息的格式,并且只影响提交消息。并从PRETTY FORMATS部分:
格式:
The format:<string> format allows you to specify which information you want to show. It works a little bit like printf
...格式
E.g, format:"The author of %h was %an, %ar%nThe title was >>%s<<%n" would show something like this: The author of fe6e0ee was Junio C Hamano, 23 hours ago The title was >>t4119: test autocomputing -p<n> for traditional diff input.<<
format
选项允许完全控制显示方式和内容,代替提交消息。在你的情况下,你告诉它你不想显示任何东西。