Я пытаюсь заставить мерзавца проигнорировать некоторые мои файлы, и я нашел одно описание о том, как Вы могли сделать это
От: http://github.com/guides/git-cheat-sheet ДЛЯ ИГНОРИРОВАНИЯ НЕКОТОРЫХ ФАЙЛОВ
Добавьте файл в корневом каталоге, названном .gitignore, и добавьте некоторые файлы к нему: (комментарии начинаются с хеша), *.log db/schema.rb db/schema.sql
Мерзавец автоматически игнорирует пустые каталоги. Если Вы хотите иметь журнал / каталог, но хотеть проигнорировать все файлы в нем, добавьте следующие строки к корню .gitignore: (начало строк‘!’ исключения),
зарегистрируйтесь /*! .gitignore
Затем добавьте пустой .gitignore в пустом каталоге:
касание log/.gitignore
Таким образом, я сделал файл названным .gitignore в моей папке для моего проекта и записал следующее в нем:
phpMyAdmin/*
nbproject/*
inc/mysql_config.php
!.gitignore
Но когда я фиксирую, файлы isent исключенный из фиксации...
Согласно man gitignore :
ОПИСАНИЕ
Файл
gitignore
определяет преднамеренно неотслеживаемые файлы, которые git должен игнорировать. Примечание что все файлыgitignore
действительно относятся только к файлам, которые еще не отслеживается git; чтобы игнорировать незафиксированные изменения в уже отслеженных файлах, обратитесь к документации git update-index --assume-unchanged .
Так что это не поможет, если вы их уже добавили. Это в первую очередь для предотвращения добавления. Таким образом, вы можете игнорировать файлы .tmp
и добавить целый каталог, не беспокоясь о том, что вы добавите файлы .tmp
.
Я считаю, что вы можете удалить их из индекса с помощью:
git rm --cached file_to_stop_tracking_but_dont_want_to_delete.txt
Обновление:
Кроме того, .gitignore
должен находиться в базовом каталоге или, по крайней мере, выше того, где находятся эти каталоги.Также удалите «*» из каталогов:
phpMyAdmin/
nbproject/
inc/mysql_config.php
!.gitignore
И будьте осторожны с phpMyAdmin /
vs / phpMyAdmin
vs phpMyAdmin
. Также из man gitignore :
Если шаблон заканчивается косой чертой, он удаляется с целью следующее описание, но будет найдено совпадение только с каталогом. Другими словами,
foo /
будет соответствовать каталогуfoo
и путям под ним это, но не будет соответствовать обычному файлу или символической ссылкеfoo
(это в соответствии с тем, как pathspec в целом работает в git).Если шаблон не содержит косой черты
/
, git рассматривает его как оболочку glob и проверяет совпадение с именем пути без ведущих каталогов.В противном случае git рассматривает шаблон как оболочку, пригодную для использования. by
fnmatch (3)
с флагомFNM_PATHNAME
: подстановочные знаки в шаблоне не будет соответствовать/
в имени пути. Например,Documentation / *. Html
соответствуетDocumentation / git.html
, но неDocumentation / ppc / ppc.html
. А ведущая косая черта соответствует началу имени пути; например,/ *. c
соответствуетcat-file.c
, но неmozilla-sha1 / sha1.c
.