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

Лучшая практика использования нескольких файлов .gitignore

Существует набор полезных .gitignore файлов в https://github.com/github/gitignore. Каждый игнор файл имеет расширение .gitignore, например. Java.gitignore, vim.gitignore. Когда я помещаю эти файлы непосредственно в workdir, они не работают.

Нужно ли создавать один файл .gitignore и объединять в него составные файлы?

Соответственно, при использовании файла --global .gitignore кажется, что config указывает на один файл. Если, например, я хочу применить все файлы .gitignore в каталоге Global/, должен ли я вручную объединить их в один файл? Если это так, это дополнительная работа, чтобы обновить этот объединенный файл с помощью "официальной" коллекции.

Повторяю, я признаю, что мы можем использовать разные файлы .gitignore в разных каталогах, но это не то, что я хочу. Я хочу применить несколько файлов .gitignore в одном каталоге.

4b9b3361

Ответ 1

Чтобы уточнить: проект gitignore file называется .gitignore


Фон:

A .gitignore относится к каталогу, в котором он находится, который является либо верхним уровнем, либо потомком каталога с репозиторием .git, то есть каталога ".git/".

В любых подкаталогах может быть несколько файлов .gitignore, но Best Practice должен иметь один .gitignore в корне данных проектов и при необходимости иметь подкаталоги файловой ссылки, например. images/yearly/recent В противном случае будет сложно узнать "какой" .gitignore файл, чтобы найти что-то, что игнорируется. Учитывая, что вы можете использовать шаблоны в качестве имен файлов, которые могут быть довольно сложными!

Я также рекомендую избегать использования глобального файла .gitignore, который применяется ко всем проектам на вашем компьютере, хотя вы можете сохранить шаблон для использования с новыми проектами. Основное соображение здесь состоит в том, что ваш .gitignore будет отличаться от других разработчиков (который может или не может существовать), и поэтому результат не определен. Одним из примеров исключения является использование глобального файла .gitignore для файлов IDE, которые я не хочу ни в каком проекте, который я открываю на своей машине, поэтому я использую глобальный .gitigore с записью для .idea/files ( RubyMine).


Цель шаблонов, которые вы видите, состоит в том, что обычно вы пишете код для заданного файла на определенном языке. Учитывая это, часто достаточно шаблона, основанного на языке.

Если в базе кода есть несколько языков, тогда вам понадобится объединить несколько .gitignore для этих языков, что может быть сделано множеством способов, таких как:

cat .gitignore1 .gitignore2 > .gitignore # if .gitignore doesn't exist yet
cat .gitignore1 >> .gitignore # Add to it if it already exists
paste .gitignore1 .gitignore # Add to it if it already exists

Горячая (иш) от печати (лето 2014):

Gitignorer - простая утилита, которая помогает создавать файлы .gitignore. Он вытаскивает определенные (заданные) шаблоны .gitignore с общими файлами для исключения из github.com/github/gitignore, объединяет их вместе и сохраняет их в .gitignore в текущем каталоге.

Пример использования:

gitignorer create c java python

Gitignorer в настоящее время доступен в AUR над https://aur.archlinux.org/packages/gitignorer/ и на GitHub в https://github.com/zachlatta/gitignorer