Я использую msysgit и имею дерево проекта, которое содержит много bin/folders в дереве. Используя файл .gitignore в корне проекта, мне нужно игнорировать все DLL файлы, которые находятся внутри корзины/папки в любом месте дерева проекта. Я пробовал "bin/*. Dll", но это не работает, я полагаю, что он работает только с bin/folder в корне проекта.
Git - Игнорировать определенные файлы, содержащиеся в определенных папках
Ответ 1
У меня была аналогичная проблема и поняли: файлы уже добавлены и отмечены в git.
Как распознать разницу: Git не отображал файлы как "новые", а как "измененные". Эти детали стоили мне довольно долгое время...
Если это проблема, просто "git rm" эти файлы и начните сначала. Внезапно .gitignore начинает работать, как ожидалось.
Ответ 2
У меня есть только /bin
в моем файле, и, похоже, он работает. Он игнорирует всю папку (в отличие от определенных файлов в ней)
Вот полное содержание на данный момент (все еще развивается).
.svn*
obj/
bin/
*.suo
*.user
Log/
log/
*.db
Ответ 3
Обновление августа 2016 года (семь лет спустя, Git 2.9.3/Git 2.10)
**/bin/*.dll
Это работает для любой глубины.
Оригинальный ответ (2009, Git 1.6)
Вы пытались:
**/bin/*.dll
Он работает с моим msysgit1.6.3 (с файлом .gitignore
в корневом каталоге рабочего пространства Git).
На самом деле вышеизложенное будет игнорировать "x/bin/z.dll
", а не "x/y/bin/z.dll
".
Другим синтаксисом может быть:
**/*/bin/*.dll
Но это будет только глубина 3, а не глубина 2!
Итак, если у вас слишком много места, где нужно игнорировать *.dll, самым простым решением по-прежнему будет локальный файл .gitignore в этих каталогах "bin"...
Или набор директив для покрытия основных первых глубин:
bin/*.dll
**/bin/*.dll
**/*/bin/*.dll
**/**/*/bin/*.dll
и т.д., все в одном файле .gitignore.
Ответ 4
.gitignore на окнах, похоже, не работает. Я использую msysgit v 1.7.6 beta, и он просто не работает так, как он должен на странице .gitignor man. Теперь, если я скопирую содержимое моего файла .gitignore в файл $GIT_DIR/info/exclude, внутри репо все будет работать.
Итак, облом: это не реплицируется, но лучше, чем ничего.
Ответ 5
*/bin работал у меня
Я бы подумал, что */bin/будет также.