3

私のgitcommitメッセージはすべてで始まります

  refs #SOME_NUMBER

ここで、SOME_NUMBERは1から上の数値です。作業ブランチ上のすべてのcommitメッセージを解析し、すべてのSOME_NUMBERをリストに保存し、重複を削除して、ファイルに保存したいと思います。どこから始めたらいいのかわからない…。

4

1 に答える 1

6

このシェルワンライナーを使用すると、これを非常に簡単に行うことができます。

$ git log --format=%s | cut -f 2 -d ' ' | sed 's/#\(.*\)/\1/' | sort -n | uniq > refs.txt

説明:

  1. git log --format=%sすべてのコミットメッセージの最初の行を表示します
  2. cut -f 2 -d ' '#SOME_NUMBER行をスペースで分割し、(部分)の2番目の部分を印刷します
  3. sed 's/#\(.*\)/\1/'番号から番号記号を削除します
  4. sortエントリを番号の昇順で並べ替えます
  5. uniq各番号が1回だけ印刷されるようにします
  6. > refs.txt出力を。という名前のファイルに出力しますrefs.txt
于 2011-12-09T04:10:53.790 に答える