我可以列出文件的提交记录,即使它已被重命名或移动。
然而,我想要“关注”文件,但只列出实际更改了该文件的提交记录。类似于:
git log --follow foo.sh
然而,我想要“关注”文件,但只列出实际更改了该文件的提交记录。类似于:
git log --follow --exclude-renames foo.sh
git log --follow foo.sh
git log --follow --exclude-renames foo.sh
git log --follow --name-status --oneline foo.sh | sed 'h;N;/\nR/d;g'
R
开头的行,则删除模式空间并启动下一个循环,否则将保持空间复制到模式空间感谢 jthill
。
刚刚发现了--diff-filter
选项,可以通过它排除重命名操作。
--diff-filter=r
所以,
git log --follow --diff-filter=r foo.sh
感谢@Zombo对--name-status
选项的回答。
在 " nicely display file rename history in git log" 中,你可以添加 --name-status
以便:
grep -v
重命名:状态 'Rxxx
',同时保留添加 'A
' 或修改 'M
')但这仍然涉及对 git log 命令进行后处理(使用 grep 和/或 sed)以获得所需的输出:目前还没有本地 '--exclude-renames
'-like 选项。
--grep="renamed:" --invert-grep
根据提交消息进行过滤,但对我来说这并没有起作用。但是相反的方向--grep="renamed:"
分叉并仅显示包含消息中 "renamed:" 测试的提交。但请记住,如果仅按消息进行过滤,则无法考虑具有混合重命名和更改的提交。 - Radon8472