Untracked files の名前だけを一覧する

新規にファイルを作った後などにgit statusするとUntracked files:以下にその作られてたファイルが一覧されるはずです。

On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)

        new-file.txt

シェルなどでそこで一覧されるファイルを扱う必要があったので、調べた所以下-s, --shortオプションを付ける方法でいけました。元々git statusで出力される結果はlongフォーマットですが、shortフォーマットにすることで出力は<status> <file-name>のような形になります。

git status --short
# ?? new-file.txt

Untracked files は??というステータスと一緒に表示されます。これさえ取得できれば後はシェルのパイプを繋げてファイル名だけにします。

git status --short | grep -E "^\?\?" | cut -d' ' -f 2
# new-file.txt