首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在git init上自动添加.gitignore和钩子

在git init上自动添加.gitignore和钩子
EN

Stack Overflow用户
提问于 2013-05-21 04:45:36
回答 3查看 12.4K关注 0票数 31

有没有办法让git在每次git init在某台机器上运行时自动创建/填充.gitignore和.git/hooks文件夹中的某些文件?也许是某个地方的全局配置?

我们有需要全盘忽略的符号链接,以及需要为每个repo设置的接收前和接收后挂钩,因此这将比手动为每个repo设置要容易得多。

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-05-21 04:58:44

您可以使用git模板目录来实现此目的

代码语言:javascript
复制
git config --global init.templatedir /path/to/template

然后,您可以将文件添加到文件夹/path/to/template/hooks,这些文件将自动复制到git init上的.git/hooks文件夹

您可以将所需的.gitignore内容放在/path/to/template/info文件夹中名为exclude的文件中。然后,在git init创建的所有新存储库中,它实际上都是一个.gitignore文件。

请注意,未使用exclude的内容填充.gitignore文件。在git init上,info文件夹中的exclude文件将被复制到git存储库的.git/info文件夹中。这将导致exclude中列出的文件模式被忽略,就像.gitignore中的模式一样。

如果你在unix上,甚至有一个默认的模板目录/usr/share/git-core/templates。在MacOS上,模板目录在/usr/local/share/git-core/templates

票数 40
EN

Stack Overflow用户

发布于 2013-05-21 04:47:01

您的主目录中的.gitignore_global。如果文件不在那里,就创建它。语法与.gitignore文件相同。小心你放在这个文件里的东西!

如果所有用户都希望共享同一个.gitignore文件,您可以在中创建一个

代码语言:javascript
复制
/.SHARED_GIT_IGNORE  

然后在每个相应的用户主目录中创建指向它的软链接。

代码语言:javascript
复制
/Users/ALL_USERS/.gitignore_global -> /.SHARED_GIT_IGNORE
票数 3
EN

Stack Overflow用户

发布于 2019-04-20 18:09:27

如果我们讨论的是包含JavaScript并使用npm的存储库,那么您可以使用husky来设置提交挂钩。

代码语言:javascript
复制
npm install husky --save-dev

// package.json
{
  "husky": {
    "hooks": {
      "pre-commit": "npm test",
      "pre-push": "npm test",
      "...": "..."
    }
  }
}

这并没有直接回答最初的问题,但可能与许多开发人员相关。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16658087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档