美文网首页
git log --grep 筛选(转)

git log --grep 筛选(转)

作者: 朝西的生活 | 来源:发表于2017-12-21 15:02 被阅读0次

按作者

当你只想看某一特定作者的提交的时候,你可以使用 --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.pybar.py 文件相关的提交:

git log -- foo.py bar.py

-- 告诉 git log 接下来的参数是文件路径而不是分支名。如果分支名和文件名不可能冲突,你可以省略 --

按范围

你可以传入范围来筛选提交。这个范围由下面这样的格式指定,其中 <since><until>是提交的引用:

git log <since>..<until>

这个命令在你使用分支引用作为参数时特别有用。这是显示两个分支之间区别最简单的方式。看看下面这个命令:

git log master..feature

其中的 master..feature 范围包含了在 feature 分支而不在 master分支中所有的提交。换句话说,这个命令可以看出从master 分支forkfeature 分支后发生了哪些变化。

转载自Git log 高级用法, 若侵犯了作者权益,请联系我删除。

相关文章

  • git log --grep 筛选(转)

    按作者 当你只想看某一特定作者的提交的时候,你可以使用 --author 标记。它接受正则表达式,返回所有作者名字...

  • Git

    1. Git log 1.1 git log查看指定author 1.2 git log grep 2. Git ...

  • git 查看是从哪个分支切出来的

    git reflog --date=local | grep 分支名查看git log的图git log --gr...

  • 查找代码并cherrypick

    git查找【测试代码】: git目录中执行 : git log | grep -B 4 【测试代码】 输出: ——...

  • git log --grep 用法

    使用方法:git log 支持正则表达式搜索提交消息 git log --grep 使用场景:比...

  • 2020-02-15python学习

    linux 安装git grep -i "error:" /var/log/messages | less pyt...

  • git分支筛选、删除

    1. |grep指令:简单的删选 git branch |grep 'br' 筛选包含br字段的分支 2.-E 筛...

  • Windows下Git Bash设置别名

    通过右键菜单,打开git bash 比如现在想要让grep命令能够给筛选出的文本添加颜色,要运行命令grep --...

  • 常用命令

    git grep 检索文件中的文本内容 git grep --help 一.检索指定关键字:$ git grep ...

  • Git 提交历史

    以下命令在终端使用时不含双引号 搜索commit内容 git log --grep="关键字" 搜索对应文件变更c...

网友评论

      本文标题:git log --grep 筛选(转)

      本文链接:https://www.haomeiwen.com/subject/ewrawxtx.html