Разница между «git add -A» и «git add». - PullRequest
2618 голосов
/ 21 февраля 2009

Команда git add [--all|-A] представляется идентичной git add .. Это правильно? Если нет, то чем они отличаются?

Ответы [ 11 ]

2 голосов
/ 28 февраля 2019

И git add ., и git add -A будут помещать все новые, измененные и удаленные файлы в более новые версии git.

Разница в том, что git add -A помещает файлы в "вышестоящие, текущие и подкаталоги", которые принадлежат вашему рабочему репозиторию git. Но выполнение git add . ставит только файлы в текущем каталоге и подкаталогах, следующих за ним (НЕ файлы, находящиеся вне, т.е. более высоких каталогов).

Вот пример:

/my-repo
  .git/
  subfolder/
    nested-file.txt
  rootfile.txt

Если текущим рабочим каталогом является /my-repo, и вы делаете rm rootfile.txt, затем cd subfolder, а затем git add ., тогда он НЕ будет помещать в удаленный файл. Но выполнение git add -A обязательно внесет это изменение независимо от того, откуда вы выполняете команду.

Надеюсь, это устранит разницу.

...