Git: 「追跡されていない」ファイルのみをリストする (カスタムコマンドも) 質問する

Git: 「追跡されていない」ファイルのみをリストする (カスタムコマンドも) 質問する

追跡されていないファイルのみを表示するようなコマンドを使用する方法はありますかgit ls-files?

私が質問する理由は、削除されたすべてのファイルを処理するために次のコマンドを使用しているためです。

git ls-files -d | xargs git rm

追跡されていないファイルに対しても同様のものが欲しいです:

git some-command --some-options | xargs git add

-oのオプションを見つけることができましたgit ls-filesが、無視されたファイルも表示されるため、これは必要なオプションではありません。また、次のような長くて見苦しいコマンドも作成できました。

git status --porcelain | grep '^??' | cut -c4- | xargs git add

ここで使用できるよりよいコマンドがあるはずです。ない場合は、カスタム git コマンドを作成するにはどうすればよいでしょうか?

ベストアンサー1

追跡されていないファイルを一覧表示するには、次を試してください。

git ls-files --others --exclude-standard

出力を にパイプする必要がある場合は、と をxargs使用して空白に注意することをお勧めします。git ls-files -zxargs -0

git ls-files -z -o --exclude-standard | xargs -0 git add

追跡されていないファイルを追加するための便利なエイリアス:

au = !git add $(git ls-files -o --exclude-standard)

編集:参考:git-ls-ファイル

おすすめ記事