Gitは、ソフトウェア開発やファイル管理で欠かせないバージョン管理システムです。中でも頻繁に使われる基本コマンドの一つが git status
です。このコマンドは、自分が今どんな作業状態にあるのか、どのファイルが変更され、どのファイルがステージング(インデックス)にあるのかを確認するために使います。
この記事では、Git初心者でも理解できるように、git status
コマンドの基本的な使い方から、実際の出力例、よくある誤解や注意点まで、わかりやすく丁寧に解説していきます。Gitの基本を押さえたい方は、ぜひ最後まで読んでみてください。
git status
は、現在のGitリポジトリにおける作業ディレクトリとステージングエリアの状態を表示するコマンドです。
簡単に言えば、「今、自分がどんな作業をしているのか」を確認するためのツールです。
git add
済み)かどうかこのコマンドは、コミット前の確認作業として非常に重要です。たとえるなら、飛行機の離陸前チェックのようなもの。状態を把握せずに次の操作をすると、思わぬミスにつながることがあります。
基本の使い方は非常にシンプルで、以下のように実行するだけです。
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
の表示もより明確に理解できるようになります。
git add
を実行 → ステージングエリアに変更が反映git commit
→ リポジトリに変更が確定git status
は、上記のどの段階にあるのかを視覚的に教えてくれる重要なツールです。
実際にgit status
を使っていてよく見るパターンをいくつか紹介します。
On branch main
nothing to commit, working tree clean
→ これはリポジトリに未コミットの変更が一切ない状態。理想的なクリーンな状態です。
Changes not staged for commit:
modified: script.js
→ ファイルは変更されたが、git add
されていない状態です。
Changes to be committed:
new file: style.css
→ この状態では、次の git commit
で style.css
がリポジトリに追加されます。
Untracked files:
notes.txt
→ Gitが管理していない新規ファイルです。git add
することでトラッキング可能になります。
git commit
をしても変更が反映されていない場合、多くは git add
を忘れていることが原因です。git status
を確認すればすぐに気づけるので、こまめなチェックが大事です。
新しいファイルを作ったのにリモートに反映されない場合、Untracked files
に気づいていないことがよくあります。git status
はこの点を的確に教えてくれます。
時には誤って .env
やログファイルなどをステージしてしまうこともあります。git status
で確認し、必要なら git reset
で戻しましょう。
Git初心者がミスを防ぐための、簡単で実践的なフローを紹介します。
git pull
で最新化git status
git add
の前に git status
で確認git commit
実行前に最終確認の git status
git push
このように、節目ごとに git status
を使うことで、事故のリスクを大幅に減らすことができます。
現時点では git status
に明確なショートカットはありませんが、以下のような応用テクニックもあります。
git status -s
:短縮表示(-s
は --short
の略) M index.html ?? newfile.txt
alias
を使って gst
にする: bashコピーする編集するgit config --global alias.gst status
→ git gst
で同様の結果が得られます。watch
コマンドと組み合わせて自動表示: bashコピーする編集するwatch -n 2 git status
→ 2秒おきに git status
を表示し続ける(開発中の状況把握に便利)git status
は、Gitを使うすべての人にとって必須の確認ツールです。特に初心者にとっては、操作ミスや意図しないコミットを防ぐための「安全装置」のような役割を果たします。
Git操作に自信がないうちは、何か作業をするたびに git status
を使うことをおすすめします。慣れてくると自然と状況を把握しながら作業できるようになります。
まずは「こまめに確認」を意識して、安心・安全なGitライフを送りましょう。