Автоматически добавлять .gitignore и перехватывать на git init
Есть ли способ сообщить git автоматически создавать/заполнять .gitignore и определенные файлы в папке .git/hooks каждый раз, когда git init
запускается на определенном компьютере? Может быть, где-то в глобальной конфигурации?
У нас есть символические ссылки, которые нужно игнорировать по всем направлениям, а также предварительные и пост-приемные перехватчики, которые необходимо настроить для каждого репо, поэтому это было бы проще, чем делать это вручную для каждого.
Спасибо.
Ответы
Ответ 1
Вы можете достичь этого, используя каталог шаблона git
git config --global init.templatedir /path/to/template
Затем вы можете добавить файлы в папку /path/to/template/hooks
, и они будут автоматически скопированы в папку .git/hooks
на git init
Вы можете поместить нужное .gitignore содержимое в файл, который вы назвали exclude
в папке /path/to/template/info
. Тогда это будет эффективно .gitignore
файл во всех новых репозиториях, созданных git init
Если вы используете unix, существует даже каталог шаблонов по умолчанию /usr/share/git-core/templates
Ответ 2
.gitignore_global в вашем домашнем каталоге. Если файла нет, создайте его. Тот же синтаксис, что и файлы .gitignore. Будьте осторожны, что вы помещаете в этот файл!
Если все пользователи хотят использовать один и тот же файл .gitignore, вы можете создать его в
/.SHARED_GIT_IGNORE
Затем создайте в нем соответствующие ссылки в каждом соответствующем домашнем каталоге пользователей.
/Users/ALL_USERS/.gitignore_global -> /.SHARED_GIT_IGNORE
Ответ 3
Если мы говорим о репозитории, содержащем JavaScript и использующем npm, то вы можете использовать husky для настройки хуков коммитов.
npm install husky --save-dev
// package.json
{
"husky": {
"hooks": {
"pre-commit": "npm test",
"pre-push": "npm test",
"...": "..."
}
}
}
Это не дает прямого ответа на исходный вопрос, но может иметь отношение ко многим разработчикам.