add
変更をインデックスに追加する
~基本的な使用例~
# ワーキング・ツリーにあるファイルをまとめてインデックスに追加する(カレントディレクトリ以下のみ)
git add .
# ファイルを指定してインデックスに追加する
git add ファイル名.拡張子
# ファイルを複数指定してインデックスに追加する
git add ファイル名.拡張子 ファイル名.拡張子
# 拡張子を指定して該当するファイルをまとめてインデックスに追加する
git add *.拡張子
# 複数の拡張子を指定して該当するファイルをまとめてインデックスに追加する
git add *.拡張子 *.拡張子
~便利なオプション~
-n
--dry-run
引用:Gitの公式リファレンス(https://git-scm.com/docs/git-add)
Don’t actually add the file(s), just show if they exist and/or will be ignored.
訳:実際にファイルを追加するのではなく、ファイルが存在するかどうか、または無視されるかどうかを示してください。
下記のようにコマンドを実行すると、インデックスに追加されるファイル名が出力される(この段階では追加されない)
git add -n .
git add --dry-run .
-v
--verbose
引用:Gitの公式リファレンス(https://git-scm.com/docs/git-add)
Be verbose.
訳:長々とする(メッセージを増やす)
下記のコマンドを実行すると、インデックスに指定したファイルが追加され追加されるファイル名が出力される
この時、addされてしまうので注意
git add -v .
git add --verbose .
-u
--update
引用:Gitの公式リファレンス(https://git-scm.com/docs/git-add)
Update the index just where it already has an entry matching . This removes as well as modifies index entries to match the working tree, but adds no new files.
If no is given when -u option is used, all tracked files in the entire working tree are updated (old versions of Git used to limit the update to the current directory and its subdirectories).
訳:に一致するエントリがすでにある場所でインデックスを更新します。これにより、ワークツリーに一致するようにインデックスエントリが削除および変更されますが、新しいファイルは追加されません。
-uオプションを使用したときにが指定されていない場合、ワークツリー全体で追跡されたすべてのファイルが更新されます(Gitの古いバージョンは更新を現在のディレクトリとそのサブディレクトリに制限するために使用されます)。
下記のコマンドを実行すると、バージョン管理されている変更されたファイル・削除されたファイルがインデックスに追加される。
新規ファイルはバージョン管理されていないため追加さられない。
git add -u
git add --update
-A
--all
--no-ignore-removal
引用:Gitの公式リファレンス(https://git-scm.com/docs/git-add)
Update the index not only where the working tree has a file matching but also where the index already has an entry. This adds, modifies, and removes index entries to match the working tree.
If no is given when -A option is used, all files in the entire working tree are updated (old versions of Git used to limit the update to the current directory and its subdirectories).
訳:ワークツリーにに一致するファイルがある場合だけでなく、インデックスにすでにエントリがある場合でも、インデックスを更新します。これにより、ワークツリーに一致するようにインデックスエントリが追加、変更、および削除されます。
-Aオプションを使用した時にが指定されていない場合、ワークツリー全体のすべてのファイルが更新されます(Gitの古いバージョンは更新を現在のディレクトリとそのサブディレクトリに制限するために使用されます)。
下記のコマンドを実行するとワークツリーに存在するファイル全てがインデックスに追加される。
「git add .」は、現在いるディレクトリ配下にあるファイルの全てが追加されるが、このオプションはディレクトリ関係なしワークツリー内全てのファイルが追加される。
git add -A
git add --all
git add --no-ignore-removal
参考資料
Gitの公式リファレンス(https://git-scm.com/docs/git-add)
サル先生のGit入門(https://backlog.com/ja/git-tutorial/)