5

特定の名前空間のメモを含むコミットのみを表示するコミットのログをダンプするにはどうすればよいですか?

メモのないコミット、または特定の名前空間に属さないメモは除外する必要があります

テキスト ダンプでは、メモだけでなく、コミット情報も必要ありません。

私は遊んだ: show refs/notes/ そして、解決策は「git log」ではなくそこにあるかもしれないと信じています。ただし、すべてのコミットも表示する正しいコマンドを見つけるのにまだ問題があります。

4

3 に答える 3

6

git notes各メモの ID と、それが適用されるオブジェクトが表示されます。したがって、2番目の列はあなたが望むものです。

$ git notes
f5ac8874676de3029ffc8c31935644ff7c4deae0 07ca160c58cf259fe8bb5e87b9d9a7cbf8845f87
62ecfc95355587d6d1f779fcaca6e4f53d088ccc eb6c60b9dcb56219d9d882759c0bf928f6d6c3fa

を使用してその最後の列を取得しcut、それらを に渡しますgit show

$ [ "$(git notes)" = "" ] || git notes | cut -d' ' -f2 | xargs git show

特定の名前空間を選択するには、 に を追加--ref=namespacegit notesます。

$ [ "$(git notes --ref=namespace)" = "" ] || git notes --ref=namespace | cut -d' ' -f2 | xargs git show

最初のテスト [...] は、わずかな問題を防ぎます。引数が渡されない場合、git show は現在のチェックアウトを表示します。したがって、メモがない場合、誤解を招くような出力が得られます。最初のテストでは問題ありません。テストが失敗した場合、つまりメモがない場合、git show は呼び出されません。

于 2012-10-29T08:40:37.357 に答える