私は現在モノレポスで遊んでいて、特定のコミット後に影響を受ける1レベルのサブフォルダをすべてリストから取得しようとしています。gitモノレポの最近のコミットの影響を受けるすべての第1レベルのディレクトリのリストを取得します。
これまでのところ、私は唯一のフォルダ名を取得するために管理しgit diff --name-only $COMMIT_ID..head | xargs -L1 dirname
を使用しgit diff --name-only $COMMIT_ID..head
を使用して影響を受けたすべてのファイルを取り出すことができます。私はミックスにsort | uniq
を追加したすべての重複削除する
:私は今、必要なのは、私が唯一の最初のレベルのフォルダを検索確保することであるgit diff --name-only $COMMIT_ID..head | xargs -L1 dirname | sort | uniq
は、私はいくつかを試してみましたproject1
ないproject1/src
とproject1/lib
、すなわち私はこれまで1つのライナーとしてそれを保つことはできませんでした。ここ
パーフェクト!私はawkの 'NF!= 1'を見逃していました。ありがとうございました! – Coyote
@Coyote喜んで助けてください! 'git diff'の' --dirstat'オプションは、各ディレクトリ内の変更のパーセンテージを表示したい場合にも役立ちますが、これにはサブディレクトリも含まれます – etopylight