2015-11-13 3 views
4

Когда я делаю $ git add *, иногда я понял, что git не добавляет удаленные файлы на сцену, и мне нужно указать вручную, если удалить или добавить его, но я не могу понять, в чем разница с $ git add --all. Итак, если звездочка () указывает «все» () , почему git не добавляет все как ** - все flag '?

Я проверил документацию git git-add и некоторые Difference between “git add -A” and “git add .”, но не указал случай при использовании звездочки.

Также первый ответ в git add * (asterisk) vs git add . (period) указывает:

оных * означает добавить все файлы в текущем каталоге, для файлов, чье имя начинается с точкой, за исключением. Это ваша функциональность оболочки, на самом деле Git получает только список файлов.

Значит, это тождественно * и - все?

Благодаря

+0

'*' расшифровывается оболочкой ко всем именам в текущем каталоге. Git не может заботиться о '*', потому что он никогда не видит звездочку, а только имена. – msw

ответ

5

Разница заключается в том:

  • git add -A добавит все from the top git repo folder.
    Работает на рабочем столе , а не только на текущем пути.
  • git add * добавил бы файлы (как расширил оболочку) из текущей папки.
    Он работает от текущего пути.
Смежные вопросы