使用git来显示过去24小时内的汇总“单词已更改”

时间:2019-02-07 03:16:18

标签: git

以下bash脚本(可在StackOverflow上的其他位置找到)可以计算自上次提交以来git repo中更改的单词:

# https://stackoverflow.com/questions/2874318/quantifying-the-amount-of-change-in-a-git-diff
function git_words_added {
    revision=${1:-origin/master}

    git diff --word-diff=porcelain $revision | \
        grep -e "^+[^+]" | \
        wc -w | \
        xargs
}

function git_words_removed {
    revision=${1:-origin/master}

    git diff --word-diff=porcelain $revision | \
        grep -e "^-[^-]" | \
        wc -w | \
        xargs
}

function words_changed() {
   echo "(+"$(git_words_added $1)", -"$(git_words_removed $1)")"
}

words_changed命令非常便于检查日常写作进度。

问题:前面的命令仅显示工作库和最后一次提交之间的区别。有没有一种方法可以显示一段时间(例如24小时)内所有提交和未分段更改之间的 aggregate 差异?因此,例如,如果23小时前我添加了10个单词并删除了10个单词(并提交),然后现在我又添加了10个单词并删除另外10个单词(但尚未提交或登台)更改),如何调整脚本以显示已更改的(+20, -20)个单词,而不只是(+10, -10)

(我忽略了评估更改是否重叠并且假设它们是互斥的问题)。

0 个答案:

没有答案