git фиксирует новые файлы, даже если они не добавлены и не зафиксированы

#git

#git

Вопрос:

Я добавил новый файл в свой главный репозиторий и отредактировал несколько, я зафиксировал только те, которые я отредактировал. Теперь история фиксации в репозитории, на который я нажал, показывает изменения файлов в отредактированных файлах, которые я добавил, И в новом, который я создал, даже если я не добавлял новый.

TLDR: я не добавлял вновь созданный файл в коммит, но он все равно был включен в push.

Комментарии:

1. Какие команды вы выполняли при выполнении добавления?

2. Не могли бы вы попробовать сделать то же самое еще раз и опубликовать точную последовательность команд, которые вы использовали?

3. Вы включили -a флаг в свой git commit ? Это фактически то же самое, что и git add .; git commit

4. @Gareth — Нет, -a добавляйте изменения только к уже отслеживаемым файлам. Нет неотслеживаемых файлов.

5. ах да, извините. commit -a похоже add -u , не add .

Ответ №1:

Вы действительно добавили его. Вы, вероятно, ввели что-то не то и не поняли этого (например git add -A , вместо git add -u , -A выбирает новые файлы, тогда -u как выбирает только измененные). Если вы хотите избежать подобных проблем в будущем, вы можете приобрести привычку использовать git diff --cached перед фиксацией для проверки того, что вы собираетесь зафиксировать, или использовать git show после фиксации для проверки вашего коммита, прежде чем отправлять его куда-либо. Также обратите внимание, что редактор сообщения о фиксации покажет сводку файлов, включенных в фиксацию, так что вы можете проверить это и убедиться, что в него не включены файлы, которые вы не собирались фиксировать.

Комментарии:

1. ‘git add -a’ выдает мне неизвестную ошибку swithc вы имеете в виду ‘git add -u’

2. @alex_borsody: Ошибка да, да, я делаю. Я исправлю свой ответ.