2013-02-28 61 views
2

我可以列表提交的文件,即使它已被重命名或移动git的日志排除重命名

git log --follow foo.sh 

不过,我想“跟随”的文件,但只列出提交该文件被其实已经改变像

git log --follow --exclude-renames foo.sh 

回答

1
git log --follow --name-status --oneline foo.sh | sed 'h;N;/\nR/d;g' 
  • 副本提交线保持空间
  • 在第二行读
  • 如果开始R线被发现,删除模式空间并开始下一个循环, 保留空间别人复制到模式空间

感谢jthill

+0

看起来不错,并使用sed作为我的回答是预测。 +1 – VonC 2013-02-28 18:07:35

1

像在 “nicely display file rename history in git log” 了一下,你可以为了增加--name-status到:

  • 没有选择(grep -v重命名:状态 'Rxxx',同时保持除了 'A' 或修改'M')
  • 仍然按照文件通过其不同的名称

但是,这仍然涉及后处理git log命令(使用grep和/或sed)以获得所需的输出:没有任何本机'--exclude-renames'样的选项。

+0

看到如何'--exclude-renames'选项比仅仅提供sed做的时间短两个字节,我很难看到另一个选项名称...... :-) – jthill 2013-02-28 18:57:13