git add console/*
Проблема в том, что подстановочный знак раскрывается с помощью глобализации оболочки и не передается непосредственно в git, поэтому git-add действительно передается каждому файлу в каталоге консоли [1]. Поскольку git-add получает каждый файл в каталоге в качестве аргументов, он думает, что вы действительно пытаетесь добавить игнорируемый файл, поэтому есть предупреждение и подсказка использовать -f, если вы действительно пытаетесь это сделать .
Решение состоит в том, чтобы не использовать глобирование оболочки, а просто передать каталог следующим образом.
git add console
Аналогичным образом, правильный способ добавления в репозиторий всего (включая файлы, начинающиеся с '.'), За исключением игнорируемых файлов [2], заключается в использовании git add .
, а не git add *
.
[1] За исключением тех, которые начинаются с '.' при условии, что вы находитесь в оболочке типа sh sh и не пытаетесь выполнить это из командной строки Windows cmd.exe. Если вы используете командную строку Windows, вам следует переключиться на использование оболочки Git-Bash из msysgit или оболочки cygwin в зависимости от того, как вы установили git.
[2] .gitignore используется только для предотвращения отслеживания неотслеживаемых файлов: если файл уже отслеживается с помощью git, он будет продолжать обрабатываться в обычном режиме, пока не будет удален из репозитория. Это может быть сделано без воздействия на фактический файл с помощью git rm --cached filename
.