我的所有git提交消息都以
开头 refs #SOME_NUMBER
其中SOME_NUMBER是1以上的数字。我想解析所有提交的消息 我的工作分支,将所有SOME_NUMBER存储在列表中,删除重复项并保存到文件。不确定从哪里开始......
答案 0 :(得分:5)
你可以很容易地使用这个shell单行:
$ 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
的文件。