为什么git log不能默认为git log --follow?

时间:2012-08-27 23:26:18

标签: git

如果我们曾将文件移至其他位置或重命名,则git log中的所有历史记录都会丢失,除非我们专门使用git log --follow。我认为通常,预期的行为是我们也希望看到过去的历史,而不是"切断"在重命名或移动之后,有git log默认使用--follow标志的原因是什么?

2 个答案:

答案 0 :(得分:30)

注意:启动git 2.6(2015年第3季度),git log可以关注文件的历史记录

commit 076c983David Turner (dturner-tw)(2015年7月8日) (由Junio C Hamano -- gitster --合并于commit 2dded96,2015年8月3日)

  

log:添加" log.follow"配置变量

     

处理大多数线性历史且频繁进行整个文件重命名的项目的人可能希望始终使用" git log --follow"在检查生活在单一路径中的内容的生命时。

     

教导命令的行为就好像" --follow"当log.follow配置变量设置为并且在命令行上有一个(且只有一个)路径时,从命令行给出

git config log.follow true

答案 1 :(得分:6)

可能是因为git log通常用于显示整体提交历史记录,而不是单个文件或路径的历史记录。 --follow选项仅在您查看单个文件时才相关(当您命名多个文件时不起作用)。由于这不是最常见的情况,因此将其添加为默认值并不合理。

如果您想让自己成为默认设置,您可以随时创建别名:

git config --global alias.lf 'log --follow'

现在,您可以git lf <filename>来获得所需的行为。

注意:如果您想提出您要求邮寄名单的变更并查看人们的想法,您可以这样做 here 。或者,更好的是,您可以 submit a patch