我所有的 git commit 消息都以
refs #SOME_NUMBER
其中 SOME_NUMBER 是从 1 开始的数字。我想解析我工作分支上的所有提交消息,将所有 SOME_NUMBER 存储在一个列表中,删除重复项并保存到文件中。真的不知道从哪里开始......
我所有的 git commit 消息都以
refs #SOME_NUMBER
其中 SOME_NUMBER 是从 1 开始的数字。我想解析我工作分支上的所有提交消息,将所有 SOME_NUMBER 存储在一个列表中,删除重复项并保存到文件中。真的不知道从哪里开始......
你可以很容易地用这个 shell one-liner 做到这一点:
$ git log --format=%s | cut -f 2 -d ' ' | sed 's/#\(.*\)/\1/' | sort -n | uniq > refs.txt
解释:
git log --format=%s
显示每条提交消息的第一行cut -f 2 -d ' '
用空格分割行,并打印(#SOME_NUMBER
部分)的第二部分sed 's/#\(.*\)/\1/'
从数字中删除数字符号sort
按数字升序对条目进行排序uniq
确保每个数字只打印一次> refs.txt
将输出打印到名为refs.txt
.