はじめに
git add <options> のよく使うオプションについてまとめてみました。
git add コマンドは、作業ディレクトリ内の保留中の変更をstagingエリアに進めます。commitをする前段階です。
目次
基本の使い方
git add <ファイル名またはフォルダ名>
stagingエリアに追加したいファイル名またはフォルダ名を指定します。
指定には*(ワイルドカード)が使えます。
git add sample.txt
git add sample_directory/
git add *.jpg #カレントディレクトリのすべてのjpgファイルをaddします。
-Aオプション
git add -A
または
git add --all
修正したファイル、削除したファイル、新規に追加したファイルなど変更のあった全てのファイルをaddします。(Gitの管理に含まれていないファイルも含まれます)
.(ドット)
git add .
基本的には-Aオプションと同じですが、コマンドを打つ場所によって結果が変わります。
-Aオプションではどこでコマンドを打っても結果が変わりませんが、.(ドット)では今いるディレクトリ配下のものしか対象にしません。
例えば、以下のようなフォルダ(dir0)があったとします。
dir1フォルダの中にはA.txtとdir2フォルダがあり、dir2フォルダの中にはB.txtがあります。
dir0
└── dir1
├── A.txt
└── dir2
└── B.txt
A.txtとB.txtに変更を加えた場合、結果は以下にようになります。
# (dir0)の階層でコマンドを打った場合
(dir0) git add -A
add 'dir1/A.txt'
add 'dir1/dir2/B.txt'
(dir0) git add .
add 'dir1/A.txt'
add 'dir1/dir2/B.txt'
# (dir2)の階層でコマンドを打った場合
(dir2) git add -A
add 'dir1/A.txt'
add 'dir1/dir2/B.txt'
(dir2) git add .
add 'dir1/dir2/B.txt' # A.txtは含まれない!
その他オプション
-u オプション
git add -u
または
git add --update
現在gitで管理しているファイルをのみを対象とします。
新規作成したファイル等は対象にしません。
-n オプション
git add -n <確認したいオプション等>
または
git add --dray-run <確認したいオプション等>
<確認したいオプション等>には'A.txt'や'-A'、'-u'などが入ります。
このオプションでは実際にaddはされず、add対象になるファイルの一覧が表示されます。何がadd対象なのか事前に確かめたいときに使います。