Когда я делаю git commit -a
, я вижу следующее:
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch better_tag_show
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: ../assets/stylesheets/application.css
# modified: ../views/pages/home.html.erb
# modified: ../views/tags/show.html.erb
# modified: ../../db/seeds.rb
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# ../assets/stylesheets/
# ../views/pages/
Что означают эти неотслеживаемые файлы? Все изменения действительно отслеживаются. Я не понимаю, почему git предупреждает меня о неотслеживаемых файлах.
ИЗМЕНИТЬ :
Хорошо, я вижу много запутанных ответов. Вот что происходит после git commit -a
этого.
# On branch master
nothing to commit (working directory clean)
Как видите, нет НИЧЕГО, кроме тех четырех файлов, к которым были применены изменения.
Мой вопрос следует перефразировать следующим образом: почему git предупреждает меня о неотслеживаемых файлах, когда все изменения в этом коммите были отслежены?
Другими словами, это неотслеживаемые предупреждение в мерзавца сообщение фиксации ненужными ?
git
git-commit
исчез
источник
источник
(use "git add <file>..." to include in what will be committed)
add
эд до сих пор. Из документации для-a
: Укажите команде, чтобы автоматически обрабатывала файлы, которые были изменены и удалены, но новые файлы, о которых вы не сообщили git, не затрагиваются .Ответы:
Если у других такая же проблема, попробуйте запустить
git add .
который добавит все файлы текущего каталога для отслеживания (включая неотслеживаемые), а затем будет использоватьgit commit -a
для фиксации всех отслеживаемых файлов.Как предлагает @Pacerier, один лайнер, который делает то же самое, -
git add -A
источник
git commit -a
будет фиксировать все отслеживаемые файлы, а не отслеживать неотслеживаемые файлы.git add .
будет отслеживать неотслеживаемые файлы в текущем каталоге.git add -a
будет отслеживать все неотслеживаемые файлы.git add -A
не такgit commit -A
. Насколько я могу судить, вы не можете перейти к переключателю,git commit
который включает неотслеживаемые файлы.git commit -am "msg"
не то же самое, чтоgit add file
иgit commit -m "msg"
Если у вас есть файлы, которые никогда не добавлялись в отслеживание git, вам все равно нужно сделать
git add file
Источник: "git commit -a" и "git add"
источник
git commit -a
не равноgit add .
+git commit
. Этотgit add
шаг добавляет только те файлы, которые указаны как измененные в вашемgit status
, а не все в текущем каталоге.Вы должны ввести в командной строке
Это зафиксирует все неотслеживаемые файлы
Редактировать:
После размещения ваших файлов они готовы к фиксации, поэтому ваша следующая команда должна быть
источник
Сначала вам нужно добавить все неотслеживаемые файлы. Используйте эту командную строку:
git add *
Затем выполните фиксацию с помощью этой командной строки:
git commit -a
источник
Если у вас возникают проблемы с неотслеживаемыми файлами, вам поможет этот трехстрочный скрипт.
Тогда просто
git push
источник
Как следует из названия, «неотслеживаемые файлы» - это файлы, которые не отслеживаются git. Они не находятся в вашей области подготовки и не были частью каких-либо предыдущих коммитов. Если вы хотите, чтобы для них была установлена версия (или чтобы ими управлял git), вы можете сделать это, указав «git» с помощью «git add». Проверьте эту главу « Запись изменений в репозиторий» в книге Progit, в которой наглядно показано, как записывать изменения в репозиторий git, а также объясняются термины «отслеживаемый» и «неотслеживаемый».
источник
Убедитесь, что вы находитесь в правильном каталоге (основная папка репозитория) в локальном git, чтобы он мог найти конфигурацию папки .git, прежде чем вы фиксируете или добавляете файлы.
источник