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

.gitignore не работает для меня

Я пытаюсь создать новый репозиторий git из существующей папки. Я создал файл .gitignore в корневой папке. Но если я скажу

git add *
git commit
git push

файлы, которые следует игнорировать, по-прежнему сохраняются в удаленном репозитории. Я нахожусь в Windows. Также я купил лицензию для SmartGIT. Он также, кажется, игнорирует .gitignore. Мне нужно вручную выбрать, какие новые файлы нужно зафиксировать.

Что я делаю неправильно?

4b9b3361

Ответ 1

Попробуйте "git add .".

Кроме того, он работает для меня (в Linux):

$ git init
$ echo foo > .gitignore
$ echo foo > foo
$ echo bar > bar
$ git add -v *
The following paths are ignored by one of your .gitignore files:
foo
Use -f if you really want to add them.
fatal: no files added

Ответ 2

Ваш файл по-прежнему нужно отслеживать, вы можете увидеть, выполнив git status, который покажет вам, что ваш файл модифицирован, даже если он находится в .gitignore
Вам нужно сделать это:

git update-index --assume-unchanged [path_to_file]

Ответ 3

Уже отслеживаются ли ваши файлы? .gitignore только заставляет замолчать комментарии о незатронутых файлах, но не остановит отслеживаемый файл.

Ответ 4

У меня были проблемы с .gitignore. Я проверил связанные ответы, о которых упоминалось, что фиксировало половину проблемы.

Что действительно получило, что gitignore работает для меня, это добавить комментарий к первой строке файла. Git не анализировал исключение, расположенное на первой строке.

Приветствия

Ответ 5

Трюк, с которым я сталкиваюсь в окнах, заключается в том, что с помощью echo (согласно ответам Якуба Нарбского) вы должны быть осторожны с пробелами.

Как вы можете видеть ниже любое пространство до того, как оператор перенаправления действительно повлияет на фактическое игнорирование.

C:\test>dir /B
TOBEIGNORED

C:\test>echo TOBEIGNORED > .gitignore
C:\test>git status
[...]
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       .gitignore
#       TOBEIGNORED
C:\test>echo TOBEIGNORED> .gitignore
C:\test>git status
[...]
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       .gitignore
nothing added to commit but untracked files present (use "git add" to track)

Ответ 6

Возможно, вы создали текстовый файл с кодировкой UTF-8. Попробуйте сохранить его в кодировке ANSI. В git bash вы можете проверить с помощью vi -b.

Ответ 7

Вероятно, ваша маска исключаемого файла неадекватна.

Ответ 8

Я использую git версию 1.7.12.3 на MacOSX, и первая строка .gitignore также не учитывается. Просто добавьте комментарий в первую строку.

Ответ 9

Строка комментария в качестве первой строки файла имеет решающее значение! Я потратил немало времени, пытаясь исключить файлы только для того, чтобы найти, что GIT игнорирует первую строку в файле ignore.