変更されたファイルのみを「git status」にすることは可能ですか?


173

git status変更されたファイルのみを表示することは可能ですか?

問題は、現時点でコミットまたはgitignoreしたくないステージングされたファイルが多すぎて、上にスクロールできないことです。Ubuntuでスクロールバック制限を設定しています。


1
どのようにスクロール制限がありますか?デフォルトでgit statusは、ポケットベルを呼び出します。
リリーバラード

私のマシンでは、スクロールバックの制限が512行に設定されています。私はそれを変更できると思います。ただし、GD / imagecacheは最終的にさらに多くのファイルを生成するため、ステータスの変更されたファイルのみを表示するには、1行のコマンドを使用します。
chrisjlee 2012

1
そうです...私のポイントは、ページャーが端末のスクロールバックを使用しないことです。
リリーバラード

面白いと思ったことを何でも聞いてみて、何か問題はありますか?--shortまたは--porcelainを使用して、ステータスの1行のバージョンを取得します。
torek 2012

2
使用する提案に基づいたもう1つのポイントgit ls-files -m:どの変更を気にしていますか、ステージング、ステージング解除、またはその両方ですか?
torek

回答:


268

でこれを行うことはできませんがgit statusgit ls-files -m変更されたすべてのファイルを表示するために使用できます。


6
他の人が知っているように、これはまだステージングされていない変更されたファイルのみを表示します。
ジェリー

11
これは受け入れられる回答ですが、情報は不正確です。git status | grep modifieduser23186が回答で示すように、「 'git status'変更されたファイルのみ」を使用できます。
K.アランベイツ2016年

9
私にとって、git ls-files -m何も表示されていませんが、git status | grep modified機能しています。
Sandeepan Nath 2016

1
他の人が指摘したように、これはステージングされていないファイルのみを示しています。:あなたは両方unstagedを表示したいファイルを上演している場合、これは私が見た中で最高の答えですstackoverflow.com/a/39994894/452587
thdoan

1
@thdoanこの特定の質問ではステージングされたファイルを明示的に除外したいようですが、ステージングされたファイルを表示するためのオプションがいくつかあります。git diff --name-only --diff-filter=M HEADステージングされたファイルとステージされていないファイルの両方の変更されたファイルのみが表示されますが、ドキュメントをチェックして、--diff-filter追加する可能性のある他のフィルタータイプを確認する必要があります。
リリーバラード

57

git status -unogitが追跡しているファイルのみが表示され、ディレクトリ内の他のファイルは表示されないようです。あなたが要求したものと正確には同じではありませんが、おそらく同じことを達成します(gitが追跡するファイルの読み取り可能な長さのリストを取得します)。


1
git status -u no(1)変更された追跡ファイルも(2)ステージングされた追跡ファイルも表示されません。これをgitバージョン1.8.5.2および1.9.4で確認しました。
mxxk 2014

2
@TomNysetvold、あなたは実際にgit status -unostackoverflow.com/questions/7008546/…)を意味するかもしれません
mxxk


29

変更されたファイルの場合:

git status | grep modified:

1
:便利なので、私はこのためにエイリアスを作成しましたgit config --global alias.modified '!git status | grep modified:'
リチャードParnaby-キング

15

git diff --name-only --diff-filter=M


2
私はそれらのフィルターをお勧めします:git diff --cached --name-only --diff-filter=ACMR追加、コピー、変更、名前変更されたファイルを実行します。
qwertzguy 2018年


3

同じ情報を探していたところ、次のように修正されたファイルが見つかりました。

git status -uno

2
git status -uno --porcelainスクリプトを解析するための素晴らしい出力を追加
pprzemek

3

使用できます

$ git status -uno 

変更されたファイルのみを一覧表示します。


3

問題は、現時点でコミットまたはgitignoreしたくないステージングされたファイルが多すぎて、上にスクロールできないことです。

これは、変更されたファイルのみを一覧表示するという質問に直接答えることはできませんが、一覧表示されるファイルの数を制限するのに役立ちます。

パスをgit statusに渡して、出力をリポジトリ内の特定のフォルダーに制限できます。

例えば:

git status app
git status spec
git status src/components

2

変更されたファイルをリストするには、以下を使用します。

git ls-files -m

ベース名のみ(パスなし)が必要な場合は、xargsを使用して各結果をbasenameコマンドに1行ずつパイプできます。

git ls-files -m | xargs -L 1 basename

1

私はこのコマンドを使用します:

$ git status -uno -sb

そして、出力は次のようになります。

## master...origin/master
 M GNUmakefile
 M include/mp4v2/project.h

0

使用しますgit cola。そのシンプルでエレガントなUIクライアントは、変更されたファイルを表示し、加えた変更のショットのような差分を提供します。

git colaは、変更したファイル、ステージングしたファイル、追跡していないファイルを視覚化できるGUIを提供します。あなたの質問は、私が信じているgit statusだけを使用することでしたが、それ以外の場合にもgit colaが役立つと思いました。詳細については、このWebページを確認してください:git-cola.github.com/screenshots.html


1
私がこのgitコーラに慣れていないので、それが私の答えにどのように関連するかを教えていただけませんか。例:スクリーンショット、または詳細?
chrisjlee 2012

なぜ反対票が投じられたのですか?:)とにかく、git colaは、変更したファイル、ステージしたファイル、追跡していないファイルを視覚化できるGUIを提供します。あなたの質問は、私が信じているgit statusだけを使用することでしたが、それ以外の場合にもgit colaが役立つと思いました。詳細については、このWebページを確認してください:git-cola.github.com/screenshots.html
n_x_l

コーラのインターフェース言語を変更するには?
ziyuang 2014年


0

変更されたすべてのファイルをリストするには、以下を使用します。

git show --stat --oneline HEAD

0

すべての素晴らしい答え。FEIだけの場合、「git checkout」(同じブランチにまたは同じブランチ内にある)は変更されたファイルのみを表示するように見えます。


0

OS:Windows

次のコマンドは、modified:」「renamed:」、または「new file:」を含むすべての行を表示します。

git status | findstr "modified: renamed: new file:"

ファイルタイプを指定したい場合:(例*.py *.ini

git status *.py *.ini | findstr "modified: renamed: new file:"

タイピングが難しいと思うなら:

  1. (例:バッチファイルの作成st.bat)を

  2. 次のように内容を書きます:

    @echo off
    :: st.bat  (this line doesn't necessarily. ( just let you know the scripts name.))
    git status %~1 | findstr "modified: renamed: new file:"
    
  3. バッチファイルを含む環境パスを追加します。(st.bat

  4. 使用法

    st.bat "*.py *.ini"
    

    (注:タイプ> 1の場合、セミコロンを追加する必要があります)

OS:LINUX

@ランスが言うように

git status | grep modified:

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.