Git

The `git status` command displays the current state of the repository, showing which files have been modified, which files are staged, and which new files are untracked.

git status

 Gitの git statusコマンドは、現在のリポジトリの状態を表示するためのコマンドです。このコマンドを使用すると、ワーキングディレクトリとステージングエリアの状態を確認することができます。

基本的な出力内容

ブランチ情報
  • 現在のブランチ名を表示します。
  • リモートのブランチと同期しているかどうか(例えば、ahead(進んでいる)、behind(遅れている))も表示されます。
変更内容
ステージングエリアにある変更(Changes to be committed)
git addコマンドでステージングエリアに追加された変更が表示されます。これらの変更は次のコミットに含まれます。
ステージングエリアにない変更(Changes not staged for commit)
ワーキングディレクトリで変更されたが、まだステージングエリアに追加されていないファイルが表示されます。
追跡されていないファイル(Untracked files)
Gitが管理していない新しいファイルが表示されます。これらのファイルはステージングエリアに追加するまでコミットされません。

具体例

 以下に、git statusコマンドの出力例とその解釈を示します。

Git Bash

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

Changes to be committed:
	(use "git restore --staged <file>..." to unstage)
		new file:   example.txt
		modified:   main.py

Changes not staged for commit:
	(use "git add <file>..." to update what will be committed)
	(use "git restore <file>..." to discard changes in working directory)
		modified:   README.md

Untracked files:
	(use "git add <file>..." to include in what will be committed)
		temp.txt
On branch main
現在のブランチは main です。
Your branch is up to date with 'origin/main'.
リモートの origin/main ブランチと同期しています。
Changes to be committed:
example.txtが新しいファイルとしてステージングされています。
main.pyが変更され、ステージングされています。
Changes not staged for commit:
README.mdが変更されましたが、まだステージングされていません。
Untracked files:
temp.txtは Gitに追跡されていない新しいファイルです。

利用方法

変更を確認するために使用
git statusを使用して、コミットする前にどのファイルが変更されたかを確認します。
ステージングエリアの確認
どの変更がステージングエリアにあるか、またどの変更がまだステージングされていないかを確認できます。
新しいファイルの確認
追跡されていない新しいファイルを確認し、それらをステージングエリアに追加するかどうかを決めます。

コマンドの補足

git status -s または git status --short
簡潔な形式でステータスを表示します。変更内容を素早く確認したい場合に便利です。

Git Bash

$ git status -s
A  example.txt
	M main.py
	M README.md
?? temp.txt

 このコマンドを使うことで、変更の概要を素早く把握することができます。