Categories: linux

git statusコマンドとは?リポジトリの状態を確認する基本操作をわかりやすく解説

Gitは、ソフトウェア開発やファイル管理で欠かせないバージョン管理システムです。中でも頻繁に使われる基本コマンドの一つが git status です。このコマンドは、自分が今どんな作業状態にあるのか、どのファイルが変更され、どのファイルがステージング(インデックス)にあるのかを確認するために使います。

この記事では、Git初心者でも理解できるように、git status コマンドの基本的な使い方から、実際の出力例、よくある誤解や注意点まで、わかりやすく丁寧に解説していきます。Gitの基本を押さえたい方は、ぜひ最後まで読んでみてください。


git statusとは何か?

git status は、現在のGitリポジトリにおける作業ディレクトリとステージングエリアの状態を表示するコマンドです。
簡単に言えば、「今、自分がどんな作業をしているのか」を確認するためのツールです。

主に表示される内容:

  • どのブランチにいるのか
  • コミットしていない変更があるか
  • ステージされている変更(git add 済み)かどうか
  • トラッキングされていないファイル(Gitの管理下にないファイル)があるか

このコマンドは、コミット前の確認作業として非常に重要です。たとえるなら、飛行機の離陸前チェックのようなもの。状態を把握せずに次の操作をすると、思わぬミスにつながることがあります。


git statusの基本的な使い方

基本の使い方は非常にシンプルで、以下のように実行するだけです。

git status

これにより、今いるローカルリポジトリの状態が表示されます。特別なオプションをつけなくても、十分に有用な情報を得ることができます。

例えば、次のような出力が得られるかもしれません:

On branch main
Your branch is up to date with 'origin/main'.

Changes not staged for commit:
(use "git add <file>..." to update what will be committed)

modified: index.html

Untracked files:
(use "git add <file>..." to include in what will be committed)

newfile.txt

ここでは、index.html は変更されているけれどまだステージされていない状態、newfile.txt はGitがまだ管理していない(Untracked)ファイルであることがわかります。


ステージとワーキングツリーの違いを理解しよう

git status の出力を理解するには、「ワーキングツリー」と「ステージングエリア(インデックス)」の違いを知ることが重要です。

  • ワーキングツリー:実際に作業しているローカルファイルの状態
  • ステージングエリアgit add した変更が一時的に保存されている場所

この2つの領域の違いを把握することで、git status の表示もより明確に理解できるようになります。

例:

  1. ファイルを編集 → ワーキングツリーに変更あり
  2. git add を実行 → ステージングエリアに変更が反映
  3. git commit → リポジトリに変更が確定

git status は、上記のどの段階にあるのかを視覚的に教えてくれる重要なツールです。


よくあるgit statusの出力パターン

実際にgit statusを使っていてよく見るパターンをいくつか紹介します。

1. すべてがコミット済みの状態

On branch main
nothing to commit, working tree clean

→ これはリポジトリに未コミットの変更が一切ない状態。理想的なクリーンな状態です。

2. 変更があるが未ステージ

Changes not staged for commit:
modified: script.js

→ ファイルは変更されたが、git add されていない状態です。

3. ステージ済みでコミット待ち

Changes to be committed:
new file: style.css

→ この状態では、次の git commitstyle.css がリポジトリに追加されます。

4. トラッキングされていないファイル

Untracked files:
notes.txt

→ Gitが管理していない新規ファイルです。git add することでトラッキング可能になります。


よくあるミスと注意点

ステージし忘れ

git commit をしても変更が反映されていない場合、多くは git add を忘れていることが原因です。git status を確認すればすぐに気づけるので、こまめなチェックが大事です。

トラッキングされていないファイルの見落とし

新しいファイルを作ったのにリモートに反映されない場合、Untracked files に気づいていないことがよくあります。git status はこの点を的確に教えてくれます。

意図しないファイルのステージ

時には誤って .env やログファイルなどをステージしてしまうこともあります。git status で確認し、必要なら git reset で戻しましょう。


git statusを使ったおすすめ運用フロー

Git初心者がミスを防ぐための、簡単で実践的なフローを紹介します。

  1. 変更前に git pull で最新化
  2. 作業中もこまめに git status
  3. 編集後、git add の前に git status で確認
  4. git commit 実行前に最終確認の git status
  5. 問題なければ git push

このように、節目ごとに git status を使うことで、事故のリスクを大幅に減らすことができます。


git statusのショートカットや補足情報

現時点では git status に明確なショートカットはありませんが、以下のような応用テクニックもあります。

  • git status -s:短縮表示(-s--short の略)
    • 通常の出力が簡略化され、確認が素早くできます。
    • 例: rubyコピーする編集するM index.html ?? newfile.txt
  • alias を使って gst にする: bashコピーする編集するgit config --global alias.gst statusgit gst で同様の結果が得られます。
  • watch コマンドと組み合わせて自動表示: bashコピーする編集するwatch -n 2 git status → 2秒おきに git status を表示し続ける(開発中の状況把握に便利)

まとめ:git statusは開発の道しるべ

git status は、Gitを使うすべての人にとって必須の確認ツールです。特に初心者にとっては、操作ミスや意図しないコミットを防ぐための「安全装置」のような役割を果たします。

Git操作に自信がないうちは、何か作業をするたびに git status を使うことをおすすめします。慣れてくると自然と状況を把握しながら作業できるようになります。

まずは「こまめに確認」を意識して、安心・安全なGitライフを送りましょう。

upandup

Web制作の記事を中心に、暮らし、ビジネスに役立つ情報を発信します。 アフィリエイトにも参加しています。よろしくお願いいたします。

Recent Posts