私のgitcommitメッセージはすべてで始まります
refs #SOME_NUMBER
ここで、SOME_NUMBERは1から上の数値です。作業ブランチ上のすべてのcommitメッセージを解析し、すべてのSOME_NUMBERをリストに保存し、重複を削除して、ファイルに保存したいと思います。どこから始めたらいいのかわからない…。
私のgitcommitメッセージはすべてで始まります
refs #SOME_NUMBER
ここで、SOME_NUMBERは1から上の数値です。作業ブランチ上のすべてのcommitメッセージを解析し、すべてのSOME_NUMBERをリストに保存し、重複を削除して、ファイルに保存したいと思います。どこから始めたらいいのかわからない…。
このシェルワンライナーを使用すると、これを非常に簡単に行うことができます。
$ 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
行をスペースで分割し、(部分)の2番目の部分を印刷しますsed 's/#\(.*\)/\1/'
番号から番号記号を削除しますsort
エントリを番号の昇順で並べ替えますuniq
各番号が1回だけ印刷されるようにします> refs.txt
出力を。という名前のファイルに出力しますrefs.txt
。