
スポンサーリンク
Gitは、ソースコードのバージョン管理を行うためのツールですが、その操作の中核をなす概念のひとつが「ステージング」です。ファイルをすぐにコミットするのではなく、まず一時的なエリアに変更を登録しておくことで、より柔軟かつ安全に履歴を管理できます。この中間ステップである「ステージングエリア」に変更を追加するためのコマンドが git add
です。
本記事では、この git add
に焦点を当て、ステージングの役割や重要性、実践的な使い方やベストプラクティスまで詳しく解説していきます。
変更を一時的に保持するステージング
ステージング(staging)とは、Gitでファイルの変更を確定的に履歴に追加(コミット)する前に、一時的に保持しておくエリアのことを指します。このエリアにファイルの変更を登録することで、どの変更を次のコミットに含めるかを明確に指定できます。ステージングには以下のような利点があります。
- 意図した変更だけをコミットできる:必要な変更だけを選択して記録できるため、誤って不要な修正をコミットするリスクを減らせます。
- 複数の変更を論理的に分けて記録できる:異なる目的の変更を別々のコミットとして分割でき、履歴が読みやすく保守性が向上します。
- レビューや差分確認がしやすくなる:ステージングした変更だけを確認・レビューできるので、細かなチェックが可能になります。
git addの基本的な使い方
ファイルの変更をステージングエリアに追加する最も基本的なコマンドが git add
です。以下のようにして使用します。
git add ファイル名
たとえば、main.py
というファイルを編集した場合、その変更をステージングするには次のように実行します。
git add main.py
これにより、main.py
の変更が次回のコミットに含まれる候補として登録されます。
複数ファイルやディレクトリをステージングする
変更が複数のファイルにまたがっている場合や、ディレクトリ単位でステージングしたい場合には、次のような方法があります。
git add ディレクトリ名/
git add *.py
また、カレントディレクトリ配下のすべての変更をステージングするには、ドット(.)を使います。
git add .
これは現在のディレクトリ以下にあるすべての変更ファイルを一括でステージングします。ただし、不要なファイルまで含めないよう注意が必要です。
ステージングされた変更の確認方法
現在どのファイルがステージングされているのかを確認するには、git status
を使用します。
git status
このコマンドの出力では、Changes to be committed
のセクションに表示されるファイルがステージング済みであることを意味します。それに対して、Changes not staged for commit
に表示されているのは、まだステージングされていないファイルです。
さらに、変更の具体的な内容を確認したい場合は git diff --staged
を使うと便利です。
git diff --staged
これにより、ステージング済みの変更差分を表示できます。
変更点を部分的にステージングする
git add -p
を実行すると、Git は変更点を「hunk(ハンク)」と呼ばれる小さな単位に分割して提示します。それぞれのハンクに対して、次のような選択肢を入力できます。
git add -p
y
:このハンクをステージングするn
:このハンクはステージングしないq
:以降のハンクは表示せず終了するa
:すべてのハンクをステージングするd
:すべてのハンクをステージングしないs
:ハンクをさらに細かく分割するe
:手動で変更内容を編集してステージングする
この方法を使うことで、1つのファイルに複数の目的の修正が含まれていても、それぞれを分離してコミットに含めることが可能になります。
ステージングのベストプラクティス
効果的にステージングを活用するためには、以下のようなベストプラクティスを意識するとよいでしょう。
-
小さな単位で
git add
を行う:ひとつのコミットには、できるだけ意味のある単位で変更を含めましょう。これにより、履歴が読みやすくなり、トラブル時の原因追跡も容易になります。 -
関連する変更だけをまとめてステージングする:機能追加やバグ修正といった目的別に変更を整理してからステージングすると、チームでのコードレビューもスムーズになります。
-
git add -p
を活用する:このオプションを使えば、変更の一部だけを対話形式で選んでステージングすることが可能です。細かく変更をコントロールしたい場合に非常に便利です。 -
不要なファイルは
.gitignore
に追加する:ステージング対象から除外したいファイルやディレクトリがある場合は、.gitignore
に明記しておくと事故を防げます。
まとめ
git add
は単なるファイル追加のためのコマンドではなく、Gitにおける「何をコミットするか」を明確に指定する重要なプロセスです。ステージングを理解し、適切に活用することで、バージョン管理の質を大きく向上させることができます。特にチーム開発では、履歴の可読性や変更の意図が明確になることで、コミュニケーションやコードレビューが円滑に進みます。
毎日の開発において、git add
をただの習慣的な操作として扱うのではなく、「変更の意図を反映するための準備段階」として意識することが、より良いソフトウェアを生み出す第一歩となるでしょう。
Gitユーザにお勧めの本
![]() |
いちばんやさしい
新品価格
|

![]() |
新品価格
|

![]() |
新品価格
|

以上で本記事の解説を終わります。
よいITライフを!