【Git入門】git add の使い方(ステージングに追加する)

変更したファイルをインデックス(ステージング)に追加するときは「git add」を使います。

以下から Gitコマンド「git add」の使い方を解説していきます。

メモ

そもそもインデックス(ステージング)とは何か? という話はこちら

 

「git add」コマンドの基本

以下の図は、ファイルの変更内容をローカルリポジトリに記録するまでの流れです。この手順の中で、ワークツリーにあるファイルをインデックス(ステージング)という領域に反映するときに「git add」コマンドを使います。

インデックス(ステージング)には「これからローカルリポジトリに変更を登録したいファイル」を追加します。

メモ

この図の詳しい解説はこちら

 

そして「git add」コマンドは、以下のようにインデックス(ステージング)に追加したいファイルを指定して使います。

git add ファイル

 

変更したファイルをインデックス(ステージング)に追加する

それでは実際にインデックス(ステージング)の追加を試してみましょう。

 

あらかじめリポジトリを作成してある状態から始めます。まだ作成されてない場合は以下のコマンドを参考にしてみてください。

mkdir git-practice
cd git-practice
git init
メモ

リポジトリの作成について詳しくはこちら

 

ここで新しいファイルを作成します。どのような方法で作成しても良いですが、ここでは touch コマンドを使います。

touch file1.txt
メモ

「touch」コマンドについて詳しくはこちら

 

次に以下のコマンドを実行してみましょう。

git status

すると、「Untracked files」のリストに「file1.txt」が表示されていることが確認できます。

ここには新しく追加・変更されたファイルが表示されます。

メモ

「git status」は 現在のファイルの状態を確認するコマンドで、このあとの記事で解説します。詳しくはこちら(作成中)。

 

以下のコマンドを実行して、「file1.txt」をインデックス(ステージング)に反映します。

git add file1.txt

 

その後、再度「git status」コマンドを実行してみましょう。

git status

 

すると、以下のように「Changes to be committed」の項目にファイルが表示されています。これでインデックス(ステージング)にファイルが反映されている状態になっていることが確認できました。

 

インデックス(ステージング)には一度に複数のファイルを反映することができます。他にもファイルがある場合は、「git add」コマンドを繰り返し実行します。

ちなみに、このあとは「git commit」コマンドでリポジトリに登録する作業になります。次回の記事で詳しく解説していきます。

 

複数のファイルを まとめてインデックス(ステージング)に追加する

「git add」コマンドでファイルを指定するときに、半角スペースで区切って複数のファイルをまとめて指定することもできます。

「file1.txt」と「file2.txt」をインデックスに追加する例

git add file1.txt file2.txt

 

また、ワイルドカード(*)で、特定の名前が含まれているファイルをまとめて指定できます。

末尾に「.txt」が含まれているファイルをインデックスに追加する例

git add *.txt

 

以下のコマンドで、変更・削除・新規作成したカレントディレクトリ以下のファイルをまとめて追加することもできます。

git add .

 

ここまでが「git add」コマンドの基本!

 

「git add」コマンドのオプション

「git add」コマンドの理解をさらに深めたい方は以下もご覧ください。

 

-A(–all)オプション

-A--all)オプションをつけると、変更したファイル、削除したファイル、新しく作ったファイルすべてをまとめてインデックスに追加することができます。

コマンド例

git -A

 

-f(–force)オプション

-f--force)オプションをつけると、「.gitignore」で指定されている管理対象外のファイルもインデックスに追加することができます。

コマンド例

git add -f .
メモ

.gitignore について詳しくはこちら(作成中)。

 

-i(–interactive)オプション

-i--interactive)オプションをつけると、対話形式でコマンドを実行することができます。

コマンド例

git add -i

 

以下のようにファイルの選択を番号で指定できます。

 

-n(–dry-run)オプション

-n--dry-run)オプションをつけると、インデックスに反映される対象ファイルを確認することができます。実際にはインデックスには反映されません。

コマンド例

git add -n .

 

-p(–patch)オプション

-p--patch)オプションをつけると、変更されたファイルの一部分をインデックスに追加することができます。

同じファイル中で複数の箇所を編集したときに、それぞれを変更箇所を分けてコミットすることができます。

 

-u(–update)オプション

-u--update)オプションをつけると、変更したファイル、削除したファイルをまとめてインデックスに追加することができます。このとき、新しく作ったファイルは追加されません。

コマンド例

git add -u

 

-v(–verbose)オプション

-v--verbose)オプションをつけると、インデックスに反映されたファイルを表示することができます。

コマンド例

git add -v .

 

まとめ

以上、「git add」の使い方でした!

ここまでの内容をまとめておきます。

  • git add ファイル で、変更したファイルをインデックス(ステージング)に反映することができる。
  • git add ファイル1 ファイル2 のようにして、複数のファイルを半角スペースで区切ってまとめて指定することができる。
  • ワイルドカード(*)を使って、特定の名前が含まれているファイルをまとめて指定することもできる。
  • git add . で、変更・削除・新規作成したカレントディレクトリ以下のファイルをまとめて指定できる。

 

次回の記事では、インデックスに反映したファイルをコミットしていきます。