Подтвердить что ты не робот

Почему не git commit -a добавлять новые файлы?

Я немного новичок в git, и я не понимаю, почему git commit -a только этапы изменят и удаляют файлы, но не новые файлы.

Может ли кто-нибудь объяснить, почему это так, и почему нет другого флага фиксации, чтобы включить добавление файлов и совершение в одной команде?

BTW, hg commit -A добавляет как новые, так и удаленные файлы в commit

4b9b3361

Ответ 1

Git касается отслеживания изменений. Он полагается на вас, чтобы сказать, какие файлы достаточно важны для отслеживания. Вы можете добиться желаемого эффекта так:

git add . ;git commit -a

Убедитесь, что ваш файл .gitignore обновлен.

Ответ 2

Я предлагаю другое решение: используя git commit --interactive -m "your commit message" покажет вам это меню

*** Commands ***
  1: [s]tatus     2: [u]pdate     3: [r]evert     4: [a]dd untracked
  5: [p]atch      6: [d]iff   7: [q]uit   8: [h]elp

позволяет вам проверять статус, добавлять файлы без следа и т.д., используя простые нажатия клавиш.

Ответ 3

Келли верна, но я думаю, что еще один фактор заключается в том, что так много людей ожидают такого поведения, потому что CVS, Subversion и большинство других инструментов делают это именно так.

Если Git зафиксировал новые файлы, вы можете заметить, что вы уже давно написали файлы .o, и еще хуже они могут повредить сборку.

Ответ 4

Я подозреваю, что ответ прост (но я сомневаюсь, что буду популярен в этом)! Приоритет проекта Git никогда не был непринужденным или удобным для пользователя.

Ответ 5

В будущем вы можете придерживаться этого решения от Ian Clelland,

git add -A && git commit -m "Your Message"

Поскольку он не будет слишком заметным из комментариев fooobar.com/info/26603/...