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
このコマンドを使うことで、変更の概要を素早く把握することができます。