1. ホーム
  2. git

[解決済み] Git: 「追跡されていない」ファイルのみをリストアップ (また、カスタムコマンド)

2022-03-26 11:19:53

質問

のようなコマンドを使用する方法はありますか? 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コマンドを作るにはどうしたらいいのでしょうか?

どのように解決するのですか?

未追跡のファイルを一覧表示するには、次のようにします。

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-files