git status
私の場合、ステージングされたファイルが多すぎるために、変更されたファイルのみを表示することは可能ですか?
17 に答える
でこれを行うことはできませんが、変更されたすべてのファイルを表示するためにgit status
使用できます。git ls-files -m
git status -uno
ディレクトリに何も表示されずに、gitが追跡しているファイルのみが表示されるようです。正確にはあなたが求めていたものではありませんが、おそらく同じことを達成します(gitが追跡するファイルの読み取り可能な長さのリストを取得します)。
変更されたファイルの場合:
git status | grep modified:
git status -s | awk '{if ($1 == "M") print $2}'
git diff --name-only --diff-filter=M
git diff --name-only
も動作します。
私は同じ情報を探していましたが、次のように変更されたファイルが見つかりました:
git status -uno
使用できます
$ git status -uno
変更されたファイルのみを一覧表示します。
変更されたファイルを一覧表示するには、次を使用します。
git ls-files -m
ベース名のみ(パスなし)が必要な場合は、xargsを使用して各結果をbasenameコマンドに1行ずつパイプできます。
git ls-files -m | xargs -L 1 basename
問題は、ステージングされたファイルが多すぎて、現時点ではコミットまたはgitignoreしたくないので、上にスクロールできないことです。
これは、変更されたファイルのみを一覧表示するという質問に直接答えることはできませんが、一覧表示されるファイルの数を制限するのに役立つ場合があります。
パスを渡してgit status
、出力をリポジトリ内の特定のフォルダーに制限できます。
例えば:
git status app
git status spec
git status src/components
私はこのコマンドを使用します:
$ git status -sb -uno | grep -v "^\sD\s"
そして、出力は次のようになります。
## master...origin/master
M GNUmakefile
M include/mp4v2/project.h
アップデート
開く.gitconfig
[user]
name = ...
email = ...
[alias]
# add below code
mySt = "!f() {\
inputType=${1:-" "};\
git status -s | grep "\\ $inputType" |\
sed -e 's/ / /' ;\
}; f"
説明:https ://stackoverflow.com/a/62772985/9935654
利用方法
git mySt M
:変更されたショー:
git mySt M *.md
:変更されたすべての*.mdを表示します。
git mySt D
:削除:
git mySt
:と同じgit status -s
OS:ウィンドウ
次のコマンドは、 「modified:」、「renamed:」 、または「newfile:」を含むすべての行を表示します。
git status | findstr "modified: renamed: new file:"
ファイルタイプを指定したい場合:(例*.py
*.ini
)
git status *.py *.ini | findstr "modified: renamed: new file:"
あなたがそれがあまりにも多くをタイプするのがあまりにも難しいと思うならば:
バッチファイルを作成します(例
st.bat
:)次のように内容を書きます。
@echo off :: st.bat (this line doesn't necessarily. ( just let you know the scripts name.)) git status %~1 | findstr "modified: renamed: new file:"
バッチファイルを含む環境パスを追加します。(
st.bat
)利用方法
st.bat "*.py *.ini"
(注:タイプ> 1の場合は、セミコロンを追加する必要があります)
OS:LINUX
@Lanceが言うようにあなたは試すことができます
git status | grep modified:
私は使用しますgit cola
。変更されたファイルを表示し、行った変更のショットのような差分を提供する、シンプルでエレガントなUIクライアント。
git cola
変更したファイル、ステージングしたファイル、さらには追跡していないファイルを視覚化できるGUIを提供します。あなたの質問は、私が信じているだけでgit statusを使用することでしたが、gitcolaはそれや他のことにも役立つと思いました。詳細情報からこのWebページを確認してください:git-cola.github.com/screenshots.html
変更されたファイルを一覧表示する場合は、次のようにします。
git log -n1 --oneline --name-status | grep '^M'
変更されたすべてのファイルを一覧表示するには、次を使用します。
git show --stat --oneline HEAD
すべての素晴らしい答え。FEIだけで、「git checkout」(同じブランチへの切り替えまたは同じブランチ内での切り替え)は、変更されたファイルのみを表示するように見えます。