我所有的git commit消息都以
refs #SOME_NUMBER
其中SOME_NUMBER是从1开始的数字。我想解析我的工作分支上的所有提交消息,将所有SOME_NUMBER存储在列表中,删除重复项,然后保存到文件中。不太确定从哪里开始。
您可以使用此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
。