# ステージしたい(`git add`) ```console $ git add ファイル名 ``` `git add`でファイルを**ステージ**します。 ステージはGit用語のひとつで**中間状態**のような状態です。 ステージ状態を経て、リポジトリにコミットできるようになります。 また、ステージ状態のファイルを取り下げることもできます。 まだGit管理してないファイルは、 ステージしてからコミットすることで、Git管理できます。 変更のあったファイルは、 ステージしてからコミットすることで、その変更履歴を残すことができます。 また、同じステージにある複数のファイルをまとめてコミットできます。 一手間かかっているので面倒くさく感じますが、 この **ステージ** をはさむことで、 **ファイルのバージョン管理** ではなく、 **行動のバージョン管理** ができるようになります。 (前段落の最後に書いた **複数のファイルをまとめてコミットできる** のがポイント) たとえば、Subversionを使った人にしか分からないかもしれませんが、 あるプログラムのソースファイルとヘッダファイルを変更したとします。 このソースファイルとヘッダファイルの変更はお互いに関係があるにもかかわらず、 Subversionの場合、別々のコミットになってしまいます。 しかし、Gitであれば、同じコミットとしてまとめることができます。