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

Автоматически добавлять .gitignore и перехватывать на git init

Есть ли способ сообщить git автоматически создавать/заполнять .gitignore и определенные файлы в папке .git/hooks каждый раз, когда git init запускается на определенном компьютере? Может быть, где-то в глобальной конфигурации?

У нас есть символические ссылки, которые нужно игнорировать по всем направлениям, а также предварительные и пост-приемные перехватчики, которые необходимо настроить для каждого репо, поэтому это было бы проще, чем делать это вручную для каждого.

Спасибо.

4b9b3361

Ответ 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",
      "...": "..."
    }
  }
}

Это не дает прямого ответа на исходный вопрос, но может иметь отношение ко многим разработчикам.