git add 使い方
インデックスにファイルを追加する
file.txt を追加するには
git add file.txt
とする。また、「*.txt」 とすると拡張子 .txt のファイルをすべて追加できる。
git add *.txt
ディレクトリの中のファイルを再帰的にインデックスに追加する
単にディレクトリ名を指定する。「dir」というディレクトリの中にあるファイルをインデックスに追加するには
git add dir
とする。
実際には実行せずにインデックスに追加されるファイルを調べる
オプション「-n」を使う。たとえば、次のようにすると
git add -n *.txt
「git add *.txt」 で追加されるファイルが表示される。
無視されるファイルを強制的にインデックスに追加する
オプション「-f」を使う。file.txt が .gitignore で無視されるファイルに 設定されていても
git add -f file.txt
とすればインデックスに追加できる。
対話的にパッチの一部をインデックスに追加する
file.txt への変更の一部をインデックスに追加するには「-p」オプションを使う。
git add -p file.txt
こうするとパッチのひとかたまり毎にインデックスに加えるうかどうかを尋ねてくる。 加えるなら「y」、加えないなら「n」を押す。 その他の操作は「?」でヘルプを見て調べることができる。
リポジトリに登録されていて変更されたファイルをインデックスに追加する
「-u」オプションを使う。削除されたファイルの情報は追加されるが、 新しく作成されたファイルは追加されない。
git add -u
ファイルパターンを使う場合は
git add -u *.txt
のようにする。
ワークツリーの変更と新しく作成されたファイルをリポジトリに登録する
新しく作成されたファイル、削除されたファイルの情報、ファイルの変更を インデックスに追加するには「-A」オプションを使う。
git add -A
ファイルパターンを使う場合は
git add -A *.txt
のようにする。
変更部分を表すパッチを直接編集してインデックスに追加する
「-e」オプションを使う。
git add file.txt -e
git add -A -e
git add . -e
などのようにして使う。
対話的にファイルをインデックスに追加する
「-i」オプションを使う。
git add -i
空のディレクトリを git で扱う
git では空のディレクトリをリポジトリに含めることはできない。 そのため、どうしても空のディレクトリをリポジトリに加えたい場合、 適当なファイルを作ってそのディレクトリに入れる必要がある。
以前は .gitignore ファイルを使うことが多かったが .gitkeep や .keep といった名前のファイルも見かける。具体的には
mkdir empty_directory
touch empty_directory/.gitignore
git add empty_directory/.gitignore
のようにすれば良い。