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

Сделать git игнорировать файлы

Я пытаюсь сделать git игнорировать некоторые из моих файлов, и я нашел одно описание о том, как вы могли это сделать

От: http://github.com/guides/git-cheat-sheetИГНОСТИЧЕСКИЕ ФАЙЛЫ

Добавить файл в корневой каталог называется .gitignore и добавить некоторые файлы к нему: (комментарии начинаются с хэша) *.log db/schema.rb db/schema.sql

Git автоматически игнорирует пустые каталоги. Если вы хотите иметь log/directory, но хотите игнорировать все файлы в нем, добавьте следующие строки к корню .gitignore: (строки начиная с '! являются исключениями)

log/*! .gitignore

Затем добавьте пустой .gitignore в пустой каталог:

сенсорный журнал /.gitignore

Итак, я создал файл под названием .gitignore в моей папке для моего проекта и написал в нем следующее:

phpMyAdmin/*
nbproject/*
inc/mysql_config.php
!.gitignore

Но когда я фиксирую, файлы исключаются из commit...

4b9b3361

Ответ 1

Согласно man gitignore:

ОПИСАНИЕ

Файл A gitignore указывает намеренно не проверенные файлы, которые следует игнорировать git. Заметка что все файлы gitignore действительно касаются только файлов, которые еще не отслеживается git; чтобы игнорировать незафиксированные изменения в уже отслеживаемых файлах, обратитесь к документации git update-index -assume-unchanged.

Так что это не поможет, если вы уже добавили их. Это в основном для предотвращения добавления в первую очередь. Таким образом, вы можете игнорировать файлы .tmp и добавить целый каталог, не опасаясь, что вы добавите файлы .tmp.

Я считаю, что вы можете удалить их из индекса с помощью:

git rm --cached file_to_stop_tracking_but_dont_want_to_delete.txt

Update:

Кроме того, .gitignore должен находиться в базовом каталоге или, по крайней мере, выше, где находятся эти каталоги. Кроме того, возьмите "*" из каталогов:

phpMyAdmin/
nbproject/
inc/mysql_config.php
!.gitignore

И будьте осторожны phpMyAdmin/ vs /phpMyAdmin vs phpMyAdmin. Также из man gitignore:

  • Если шаблон заканчивается косой чертой, он удаляется с целью следующее описание, но оно будет находить совпадение с каталогом. Другими словами, foo/ будет соответствовать каталогу foo, а пути под ним он, но не будет соответствовать регулярному файлу или символической ссылке foo (это в соответствии с тем, как метод pathspec работает вообще в git).

  • Если шаблон не содержит косой черты /, git рассматривает его как оболочку glob pattern и проверяет совпадение с именем пути без ведущих каталогов.

  • В противном случае git рассматривает шаблон как оболочку, подходящую для потребления fnmatch(3) с флагом FNM_PATHNAME: подстановочные знаки в шаблоне не будет соответствовать / в пути. Например, Documentation/*.htmlсоответствует Documentation/git.html, но не Documentation/ppc/ppc.html. ведущая косая черта соответствует началу пути; например, /*.cсоответствует cat-file.c, но не mozilla-sha1/sha1.c.

Ответ 2

https://www.gitignore.io/

Я создал веб-утилиту, которая поможет вам создать полезные .gitignore файлы для вашего проекта. Это поможет вам игнорировать операционную систему, язык программирования и файлы сгенерированные IDE.