Menu
Coddy logo textTech

Git Status

最終更新

git status は作業ツリーの状態を表示します。どのファイルが次のコミットにステージされているか、どのファイルが変更されているがステージされていないか、どのファイルが追跡されていないか、です。また、現在どのブランチにいるか、その upstream よりどれだけ先行または遅れているかも教えてくれます。状況を確認するために最も頻繁に実行するコマンドです。

これらをターミナルプレイグラウンドで試してみましょう。ブラウザ内の本物のシェルで、インストール不要です。

git status はコミット前にファイルをステージ済み(A)、変更済み(M)、未追跡(??)に仕分けします。

構文

CommandWhat it does
git status作業ツリーとブランチの完全な状態
git status -s短くコンパクトな、ファイルごとに1行の形式
git status -sb短い形式にブランチ行を追加
git status --ignored.gitignore で無視されているファイルも表示

短い形式の読み方

git status -s では、2つの列は staged / unstaged です。

MarkerMeaning
M変更済み
A追加済み(ステージされた新規ファイル)
D削除済み
??追跡されていない

Git status のよくある質問

git status は何を表示しますか?
次のコミットにステージされているファイル、変更されているがまだステージされていないファイル、そして Git がまったく追跡していないファイル(追跡されていない)を一覧表示します。また、現在のブランチと、それがリモートより先行しているか遅れているかも表示します。何も変更しません。純粋に情報を提供するだけです。
git status と git status -s の違いは何ですか?
通常の git status は、状態ごとにグループ化された詳細で説明的な一覧を出力します。git status -s(短い形式)は、ファイルごとに2つの状態列を持つコンパクトな1行を出力します。左がステージングエリア、右が作業ツリーで、マーカーを覚えれば素早く目を通せます。
git status -s の2つの列はどう読めばよいですか?
最初の列はファイルのステージ済み状態、2番目は未ステージ(作業ツリー)状態です。たとえば M はステージ済み-変更、 M は変更されたが未ステージ、MM は両方、?? は追跡されていないを意味します。A は新しくステージされたファイル、D は削除です。
なぜ git status は新しいファイルの変更を表示しないのですか?
まったく新しいファイルは追跡されていない(??)として表示されます。Git はまだそれを追跡していないため、差分ではなくファイル全体を新規として報告します。git add すると、status はそれをステージ済みとして表示します。追跡されていないファイルは git commit -a にも含まれません。
これをオンラインで練習できますか?
はい。ターミナルプレイグラウンドを開いて、ブラウザ内の本物のシェルで git status を実行できます。インストール不要です。Coddy の無料のインタラクティブな Git コースでも、日常的な Git ワークフローを段階的に扱っています。
Coddy programming languages illustration

Coddy で Git を学ぼう

始める