Какая разница между "git add -u" и "git add -A"?

Хорошо, поэтому я искал "Удаление удаленных вручную файлов из Git" без фактического выполнения git rm file.txt для каждого файла, когда я наткнулся на "Удаление нескольких файлов из репозитория Git, которые уже были удалены с диска.

Две самые команды Up-Voted:

  • git add -u
  • git add -A

Хотя оба они работали для меня, я все еще не могу понять разницу, и решения на странице тоже не объясняют. Мои вопросы: как они отличаются друг от друга и какие другие команды Git могут использоваться для удаления файлов, которые были удалены вручную с диска?

Ответы

Ответ 1

Краткий ответ:

git add -A равен git add . + git add -u


Объяснение:

Когда вы делаете "git add .", он добавляет все файлы (существующие, измененные и новые) в промежуточную область, но не удаляет файлы, которые были удалены с диска.

"git add -u" добавляет только отслеживаемые файлы (которые были изменены) в промежуточную область, а также проверяет, были ли они удалены (если да, они удалены из промежуточной области). Это означает, что он не создает новые файлы.

Выполнение "git add -A" выполняет оба этих шага, то есть ставит всю вашу директорию как есть.


Резюме:

  • git add -A: этапы Все
  • git add -u: только этапы измененные файлы
  • git add .: ставит все, без удаленных файлов

Подробнее читайте Документацию.

Ответ 2

git add -A будет отслеживать новые, измененные и удаленные файлы

git add -u будет отслеживать измененные и удаленные файлы