Git Show / Log:限制补丁大小

时间:2018-09-07 07:22:01

标签: git

我想限制git-show和/或git-log --patch的补丁输出,这意味着,如果提交的补丁长于X字节,我就不想返回它。有可能吗?

2 个答案:

答案 0 :(得分:0)

也许选项--log-size是您的朋友:

  

-log-size

Include a line “log size <number>” in the output for each commit, where <number> is the length of that commit’s message in bytes.
     

旨在加速从git log输出读取日志消息的工具   通过允许他们提前分配空间。

然后,您可以按提交的日志大小过滤输出。为此,您将需要一个自己的shell脚本。

示例输出:

commit 552904c8e49c53a690dc14d848b5517f3995be49
log size 137
Author: XXXXXXXXX XXXXXXX <YYYYYYY@ZZZZZZZZZ.com>
Date:   Thu Jul 19 11:31:25 2018 +0200

    asd dziprecowss as diürtproject submodule

答案 1 :(得分:0)

Git命令没有这样的选项。可以使用bash脚本:

function foolog(){
    SIZE=$1
    for commit in `git log --pretty=%H`;do
      git show $commit --pretty="" | dd |& tail -1 | 
          if [[ `grep -oe '^[0-9]*'` -le $SIZE ]];then
              git show $commit
          fi
    done
}

foolog 1200打印diff大小不大于1200字节的提交。