この記事でわかること
git statusの基本的な使い方
主な想定読者
- Git初心者
- git statusの使い方がわからない方
- git addやgit commitの実行状況を確認したい方
git statusとは
現在のGitリポジトリの状態を確認できるGitコマンドであり、主に以下の3点の情報が確認可能
- 未追跡ファイルが存在するか
- git addされていない変更が存在するか
- git commitされていない変更が存在するか
未追跡ファイル:まだGitのバージョン管理対象となっていないファイルのこと。この「未追跡」のファイルは、まだGitの管理下に入っていないため、変更を加えてもGitの履歴には残らず、まだGitでバージョン管理ができていない状態。バージョン管理の対象に含めたい場合は、後述するように git add コマンドを使って「追跡」させる必要がある。
git statusの使い方
- Gitリポジトリ内の任意のディレクトリに移動し、以下のコマンドを実行
ターミナル
git status
- 上記コマンドの実行により、リポジトリに関する下記3点の情報を確認可能
1. 未追跡ファイルが存在するか
2. git addされていない変更が存在するか
(≒変更されたがステージグエリアには未追加のファイルが存在するか)
3. git commitされていない変更が存在するか
(≒ステージングエリアには追加済みだがコミット待ち状態のファイルが存在するか) - 以下は、実際にコマンドを実行した場合に表示される結果の例
ターミナル
$ 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)
modified: file1.txt
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: file2.txt
Untracked files:
(use "git add <file>..." to include in what will be committed)
newfile.txt
- 上記実行結果の例の簡単な解説
-
Changes to be committed:
(コミットすべき変更)
file1.txt
はgit add
によってステージングエリアに追加されたファイルだが、git commit
はまだされていない -
Changes not staged for commit:
(ステージングされていない変更)
file2.txt
は、変更されているが、まだgit add
されておらず、ステージングエリアには存在しない -
Untracked files:
(未追跡ファイル)
newfile.txt
は、Gitでまだ一度も追跡されていないファイルで、Gitのバージョン管理対象に含まれていない
-
補足:未追跡ファイルを追跡対象にする方法
- 前提
Gitでは、プロジェクトのフォルダ内にあるファイルが、全て自動的に管理されるわけではなく、追跡する(=バージョン管理する)かどうかを、ユーザーの方で指定する必要がある - 追跡対象にする方法
未追跡のファイルをGitで追跡し、バージョン管理に含めたい場合は、git add
コマンドを使う - 追跡対象にする場合の
git add
コマンド実行例
以下のようにコマンドを実行することで、未追跡ファイルであったnewfile.txt
が、Gitの追跡対象(バージョン管理対象)へと変わる
ターミナル
git add newfile.txt
最後に
最後までお読み頂き、ありがとうございました!
この記事が少しでもお役に立てば幸いです。