どちらも同じように機能すると思いました。どちらもすべてのファイルをインデックスに追加します。しかし、私は間違っているようです。
git add .
との違いは何git add -u
ですか?
これは、ここで説明したgitの落とし穴の1つです(Git 2.0より前)。
git add .
削除されたものではなく、そこにあるものだけを追加します(追跡されている場合)。
git add .
git commit
git status
//hey! why didn't it commit my deletes?, Oh yeah, silly me
git add -u .
git commit --amend
git add -A
両方のステップを処理します...
git add <path>
これは""と同じgit add -A <path>
であるため、 "git add dir/
"はディレクトリから削除したパスを認識し、削除を記録します。
古いバージョンのGitでは、「git add <path>
」は削除を無視するために使用されていました。本当に必要な場合は、「」と言っ
git add --ignore-removal <path>
て、追加または変更されたパスのみをに追加できます。<path>
警告(git1.8.3 2013年4月、今後のgit2.0の場合)。代わりに、
と言うように答えを変更しました。:git add -u .
git add -u
git add -u
" "やその他のコマンドとの一貫性を保つために、Git2.0のツリー全体で動作します。「」を「」として動作さ せるメカニズムがないため、「 」(pathspecなし)で現在のサブディレクトリ内のパスのみのインデックスを更新することに慣れている人は、明示的に「」と言うように指のトレーニングを開始することが重要です。 Git2.0が登場する前にそれを意味するとき。git commit -a
git add -u
git add -u .
git add -u
git add -u .
「 e」で述べたように
マニュアルにあるように:git add .
現在のディレクトリにあるすべてのファイルを追加しますが、git add -u .
すでに追跡されているファイルのみを追加します。