リポジトリ内で変更したファイルの数を知りたい。
現在、このコマンドを使用していますが、遅すぎます。
n = `git diff --name-only HEAD | wc -l | tr -d '[[:space:]]'`
サブディレクトリごとにこのコマンドを実行するスクリプトを作成しました。すべてのサブディレクトリはgit-repoです。これにより、コミットする必要のある変更がどのリポジトリにあるかを簡単に確認できます。
同じ情報をより速く取得する方法は?上記のコマンドの実行にはかなりの時間が必要です。多くのリポジトリでは、これが問題になります。
変更されたファイルの数を数えるために、私は次のようにしgit ls-files
ます:
git ls-files -m -z | awk -v RS='\0' 'END { print NR }'
-m
変更されたファイルを表示-z
し、各ファイル名をヌル文字で終了します\0
。次に、Awkを使用してレコード数をカウントします。これは、改行などの奇妙な文字を含むファイル名を正しく処理するため、最も安全なオプションです。
あなたがそれについて心配していないなら、あなたはこのもう少し単純なアプローチで行くことができます:
git ls-files -m | wc -l
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加