Это одна из упомянутых здесь мерзавцев (до 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 2.0, 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 г., для предстоящего git2.0 ).
Я изменил свой ответ, чтобы сказать git add -u .
вместо git add -u
.:
git add -u
будет работать со всем деревом в Git 2.0 для согласованности с "git commit -a
" и другими командами.
Поскольку не будет никакого механизма, чтобы заставить "git add -u
" вести себя как "git add -u .
", это
важно для тех, кто привык "git add -u
" (без указания пути), обновлять индекс только для путей в текущем подкаталоге, чтобы начинать тренировать свои пальцы, чтобы явно сказать "git add -u .
", когда они имеют это в виду до появления Git 2.0.
Как я уже упоминал в " e "