(最終更新月:2023年8月)
✔このような方へおすすめの記事です:
「git statusコマンドって何ができるんだろう?」
「git statusコマンドの使用方法を学びたい」
「git statusコマンドの具体的な使用例を知りたい」
✔当記事を通じて伝える内容:
- git statusコマンドの概要
- git statusコマンドの使い方とその活かし方
- git statusコマンドの実際の使用事例
当記事では、git statusコマンドの基本的な概念から、その詳細なオプションを効率的に利用する方法まで、現実的な例を交えて詳細に解説します。
ぜひ最後までご覧ください。
「git status」の紹介
こちらでは、「git status」についてお伝えしていきます。
これにより、Gitでの開発フローをより効率的に管理できるでしょう。
- Gitと”git status”コマンド
- 関連するGitコマンドの一覧
- “git status”コマンドの基本的な説明
Gitと”git status”コマンドの紹介
Gitは、ソースコードのバージョン管理をおこなうための分散型バージョン管理システムです。
その中で、”git status”コマンドはリポジトリ内のファイルの現在の状態を表示するもの。
これにより変更が追跡されているか、コミットが必要か、などの情報をすぐに得られます。
% git status
On branch main
Your branch is up to date with 'origin/main'.
こちらはローカルリポジトリが正常に同期されている状態を表しています。
関連するGitコマンドの一覧
“git status”は、ほかの多くのGitコマンドと組み合わせて使用します。
以下は主要なコマンドと思われる一部です。
コマンド名 | 説明 | 具体例 |
---|---|---|
git init | 新しいリポジトリを初期化する | git init |
git clone | リポジトリをクローンする | git clone https://github.com/user/repo.git |
git add | 変更をステージングエリアに追加する | git add README.md |
git commit | ステージングエリアの変更をコミットする | git commit -m "Add README" |
git push | ローカルの変更をリモートリポジトリにプッシュする | git push origin master |
git pull | リモートリポジトリから変更を取得し、現在のブランチに統合する | git pull origin master |
git branch | ブランチを一覧表示するか、新しいブランチを作成する | git branch feature-branch |
git checkout | 特定のブランチやコミットに切り替える | git checkout feature-branch |
git merge | 2つのブランチを統合する | git merge feature-branch |
git rebase | ブランチを再ベースする | git rebase master |
git log | コミットの履歴を表示する | git log |
git status | ワーキングディレクトリの状態を表示する | git status |
git diff | 変更の差分を表示する | git diff |
git reset | 現在のHEADを指定した状態にリセットする | git reset --hard HEAD^ |
git rm | ファイルをワーキングディレクトリとインデックスから削除する | git rm file.txt |
git stash | 変更を一時的に保存する | git stash save "temporary changes" |
git tag | 特定のコミットにタグをつける | git tag v1.0.0 |
これらのコマンドはgitの基本的な操作に使用されます。使い方に応じてオプションや引数を追加することで、多岐にわたる作業が可能です。
“git status”コマンドの基本的な説明
“git status”コマンドは非常にシンプルです。
ターミナル上で、Gitリポジトリのディレクトリに移動し、次のように入力します。
$ git status
実行すると、現在のブランチと、変更がステージされているか、変更がコミットされていないかなど、各ファイルの状態が表示されます。
「git status」コマンドの具体的な使い方
次に、「git status」コマンドの具体的な使い方について詳しく解説します。
これにより、より具体的な操作と結果について理解を深められるでしょう。
- 基本的な使用法
- 対話形式の事例紹介
- エラーや複雑な状況での使用例
- 「.gitignore」ファイルとの関連性
基本的な使用法
“git status”コマンドは、Gitリポジトリ内の状態を照会するために使用します。
基本的な使用法は非常にシンプルで、リポジトリのルートディレクトリに移動し、以下のように入力しましょう。
$ git status
現在のブランチと、変更がステージされているか、未ステージの変更があるか等、各ファイルの状態が表示されます。
対話形式の事例紹介
以下に、”git status”コマンドの基本的な使用例を対話形式で示します。
1.まず、”readme.txt”という新しいファイルを作成します。
$ touch readme.txt
Linuxのtouchコマンドについてはこちらをご覧ください。
2.その後、”git status”を使って状態を確認します。
$ git status
3.出力結果は次のようになります。
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
readme.txt
nothing added to commit but untracked files present (use "git add" to track)
これにより、”readme.txt”が新規作成されて追跡されていないことが確認できます。
エラーや複雑な状況での使用例
“git status”コマンドは、Gitリポジトリの複雑な状況を理解するのにも役立ちます。
例えば、マージコンフリクトが発生したとき、”git status”を実行してください。
コンフリクトが発生しているファイルがリストされ、それを解決するための手順が示されます。
「.gitignore」ファイルとの関連性
“.gitignore”ファイルは、Gitに対して特定のファイルまたはディレクトリを無視させるために使用するもの。
一時ファイルやビルド結果などの不要なファイルが、ステージングエリアやコミットに含まれるのを防げます。
無視されたファイルは”git status”に表示されません。
例えば、”temp/”というディレクトリを.gitignoreファイルに追加した場合、そのディレクトリ内の全てのファイルはGitによって無視され、”git status”の結果には表示されません。
「git status」コマンドの活用
こちらでは、git statusコマンドの活用方法を具体的にご覧いただきます。
- ファイルがない状態の対応
- 変更したファイルがある状態の対応
- 新規作成したファイルがある状態の対応
- ステージエリアへのファイル追加
- 出力情報の読み解き方
ファイルがない状態の対応
新しくGitリポジトリを作成した場合、リポジトリ内には何もファイルが存在しない状態になります。
この時、”git status”を実行しても、「コミットするファイルはありません」というメッセージが表示されます。
$ git init
$ git status
On branch master
No commits yet
nothing to commit (create/copy files and use "git add" to track)
この状態から変更を加えていくことで、Gitが追跡を開始します。
変更したファイルがある状態の対応
既に存在するファイルに対して変更を加えたうえで”git status”を実行すると、「変更がまだコミットされていない」というメッセージが表示されます。
例えば、既存の”readme.txt”ファイルを編集した後、”git status”を実行すると以下のようになります。
$ git status
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: readme.txt
no changes added to commit (use "git add" and/or "git commit -a")
新規作成したファイルがある状態の対応
新規にファイルを作成した場合も、”git status”コマンドはその情報を反映します。
新規作成したファイルは「Untracked files」として表示。
例えば、新規に”newfile.txt”を作成した後、”git status”を実行すると以下のようになります。
$ touch newfile.txt
$ git status
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
newfile.txt
nothing added to commit but untracked files present (use "git add" to track)
ステージングエリアへのファイル追加
“git add”コマンドでファイルをステージングエリアに追加した後、”git status”を実行しましょう。
「Changes to be committed」と表示され、次のコミットに含まれる予定の変更が一覧表示されます。
例はこちらです。
$ git add newfile.txt
$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
new file: newfile.txt
出力情報の読み解き方
“git status”コマンドの出力は、各ファイルの状態を理解するのに役立つ情報を含んでいます。
具体的には以下のようなことが確認可能です。
- 次のコミットに含まれる予定の変更(ステージングエリア)
- まだステージングされていない変更(ワーキングディレクトリ)
- Gitによって追跡されていない新しいファイル
これらの情報を元に、適切な操作(”git add”, “git commit”等)をおこなえます。
「git status」の便利なオプション
git statusの便利なオプションを見ていきましょう。
オプションを覚えておくと、応用した使い方ができるようになります。
- 新規と変更したファイルの状態を一覧表示
- ステージエリアへのファイル追加の一覧表示
- ブランチ情報の表示オプション
新規と変更したファイルの状態を一覧表示
git status
の-s
または --short
オプションを使用すると、新規で作成もしくは変更したファイルの一覧を簡略化して表示可能です。
通常の git status
の出力よりも情報量が少ないですが、一覧性が向上するメリットがあります。
$ git status -s
M readme.txt
?? newfile.txt
Mと??は意味を持ちます。
M
:modified(変更済み)??
:untracked(追跡されていない)
ステージングエリアへのファイル追加の一覧表示
以下の状態でgit status -s
コマンドを実行すると、新規に追加されたファイル(A
)として表示されます。
新規ファイルを作成 > ステージングエリアに追加
$ touch anotherfile.txt
$ git add anotherfile.txt
$ git status -s
M readme.txt
A anotherfile.txt
?? newfile.txt
ブランチ情報の表示オプション
git status
コマンドで-b
または --branch
オプションを使用すると、デフォルトのブランチ名に加え、詳細なブランチ情報(例えば、アップストリームとの差異)を表示できます。
$ git status -b
On branch master
Your branch is up to date with 'origin/master'.
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
new file: anotherfile.txt
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: readme.txt
Untracked files:
(use "git add <file>..." to include in what will be committed)
newfile.txt
まとめ
当記事では、「git status」コマンドについて学習してきました。
「git status」コマンドは、Gitリポジトリの現在の状態を理解するための最も基本的なツールです。
このコマンドを用いることで、作業中のプロジェクトの状態を瞬時に把握し、次に何をすべきかを明確にできます。
Gitは機能が非常に多いため、全てを覚えるのは難しいかもしれません。
しかし、「git status」のような基本的なコマンドを理解しておくことは、効率的なバージョン管理をおこなう上で非常に重要です。
さらに深く学びたい場合は、以下のリンクより、当サイトの記事で興味のあるものをお探しください。