Git Status
最終更新
git status は作業ツリーの状態を表示します。どのファイルが次のコミットにステージされているか、どのファイルが変更されているがステージされていないか、どのファイルが追跡されていないか、です。また、現在どのブランチにいるか、その upstream よりどれだけ先行または遅れているかも教えてくれます。状況を確認するために最も頻繁に実行するコマンドです。
これらをターミナルプレイグラウンドで試してみましょう。ブラウザ内の本物のシェルで、インストール不要です。
構文
| Command | What it does |
|---|---|
git status | 作業ツリーとブランチの完全な状態 |
git status -s | 短くコンパクトな、ファイルごとに1行の形式 |
git status -sb | 短い形式にブランチ行を追加 |
git status --ignored | .gitignore で無視されているファイルも表示 |
短い形式の読み方
git status -s では、2つの列は staged / unstaged です。
| Marker | Meaning |
|---|---|
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 ワークフローを段階的に扱っています。