gitgrep全字匹配_gitlog--grep筛选(转)
按作者
当你只想看某⼀特定作者的提交的时候,你可以使⽤ --author 标记。它接受正则表达式,返回所有作者名字满⾜这个规则的提交。如果你知道那个作者的确切名字你可以直接传⼊⽂本字符串:
git log --author="John"
它会显⽰所有作者叫 John 的提交。作者名不⼀定是全匹配,只要包含那个⼦串就会匹配。
你也可以⽤正则表达式来创建更复杂的检索。⽐如,下⾯这个命令检索名叫 Mary 或 John 的作者的提交。
git log --author="John\|Mary"
注意作者的邮箱地址也算作是作者的名字,所以你也可以⽤这个选项来按邮箱检索。
如果你的⼯作流区分提交者和作者,--committer 也能以相同的⽅式使⽤。
按提交信息
按提交信息来过滤提交,你可以使⽤ --grep 标记。它和上⾯的 --author 标记差不多,只不过它搜索的是提交信息⽽不是作者。
⽐如说,你的团队规范要求在提交信息中包括相关的issue编号,你可以⽤下⾯这个命令来显⽰这个 issue 相关的所有提交:
git log --grep="JRA-224:"
你也可以传⼊ -i 参数来忽略⼤⼩写匹配。
按⽂件
提交更改是什么很多时候,你只对某个特定⽂件的更改感兴趣。为了显⽰某个特定⽂件的历史,你只需要传⼊⽂件路径。⽐如说,下⾯这个命令返回所有和foo.py 和 bar.py ⽂件相关的提交:
git log -- foo.py bar.py
-- 告诉 git log 接下来的参数是⽂件路径⽽不是分⽀名。如果分⽀名和⽂件名不可能冲突,你可以省略 --。
按范围
你可以传⼊范围来筛选提交。这个范围由下⾯这样的格式指定,其中 和 是提交的引⽤:
git log ..
这个命令在你使⽤分⽀引⽤作为参数时特别有⽤。这是显⽰两个分⽀之间区别最简单的⽅式。看看下⾯这个命令:
git log master..feature
其中的 master..feature 范围包含了在 feature 分⽀⽽不在 master分⽀中所有的提交。换句话说,这个命令可以看出从master 分⽀fork 到feature 分⽀后发⽣了哪些变化。
转载⾃Git log ⾼级⽤法, 若侵犯了作者权益,请联系我删除。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。