мерзавец добавить.против git commit -a - PullRequest
86 голосов
/ 22 августа 2010

В чем разница между:

  • git add .
  • git commit -a

Должен ли я делать оба, или это избыточно?

Ответы [ 3 ]

118 голосов
/ 22 августа 2010

git commit -a означает почти [*] то же самое, что и git add -u && git commit.

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

[*] Есть небольшая разница, если вы не находитесь в корневом каталоге вашего хранилища. git add -u ставит обновления для файлов в текущем каталоге и ниже, это эквивалентно git add -u ., тогда как git commit -a ставит и фиксирует изменения в всех отслеживаемых файлах.

13 голосов
/ 22 августа 2010

git commit -a автоматически вызывает git add для всех файлов, о которых он знает.Вы можете использовать git add, чтобы выбрать файлы для фиксации.Обратитесь к документации для получения дополнительной информации: здесь

1 голос
/ 07 апреля 2018

Используя ключ git commit -a с командой commit для автоматического «добавления» изменений из всех известных файлов (т.е. всех файлов, которые уже перечислены в индексе)

...