ステージングされたファイル名のみのリストを取得したいと思います。私はのための同等のフラグを見つけることができません--name-only
ためのgit status
コマンド。良い選択肢は何ですか?
ファイルリストはphp -l
(PHP lint構文チェッカー)にパイプされます。
解決策:完全なコマンド
git diff --name-only --cached | xargs -l php -l
ステージングされたファイル名のみのリストを取得したいと思います。私はのための同等のフラグを見つけることができません--name-only
ためのgit status
コマンド。良い選択肢は何ですか?
ファイルリストはphp -l
(PHP lint構文チェッカー)にパイプされます。
解決策:完全なコマンド
git diff --name-only --cached | xargs -l php -l
回答:
受け入れられた回答では、どのような変更があったかはわかりません。
はい、構文チェッカーではなく、ステージングされていないファイルでいっぱいのリポジトリを持つ普通の人であり、ステージングされたファイルがどうなるかを知りたい場合は、別のコマンドがあります。
git status --short | grep '^[MARCD]'
これは次のようなものにつながります:
M dir/modified_file
A dir/new_file
R dir/renamed -> dir/renamed_to
C dir/copied_file
D dir/deleted_file
明らかに、このファイルはステージングされており、git commit
:
deleted_file
が削除された後、
new_file
追加され、
renamed_file
になりますrenamed_to
。
短い形式の出力の説明は次のとおりです:https://git-scm.com/docs/git-status#_short_format
@ coffman21の回答に触発されて、次のエイリアスを設定しました.zshrc
alias gst="git status"
alias gst-staged="git status --short | grep '^\w.'"
alias gst-unstaged="git status --short | grep '^\W.'"
alias gst-unstaged-tracked="git status --short | grep '^\s.'"
alias gst-untracked="git status --short | grep '^??'"
それは他の誰にとっても役に立つかもしれません。したがって、それを回答のスタックに追加します。
.
ように、両方2つの初期文字を着色する、grepの中で:grep '^\w.'
、grep '^\W.'
、grep '^\s.'
??
コードが変更されたステージングされたファイルを表示するには
git diff --staged
または--stagedの同義語である--cachedを使用する
git diff --cached
または、コードを変更せずにファイル名のみを表示する
git diff --staged --name-only