我可以在.gitignore文件中包含其他.gitignore文件吗?(比如c-like语言中的#include)

Hav*_*veF 19 git gitignore

我有一些文件vim.gitignore,SVN.gitignoreCVS.gitignore(在我的硬盘上传播).

我可以简单地将这些gitignore文件.gitignore包含在新Git项目的文件中吗?

编辑:我已经有一个全局忽略文件.
我只是想忽略不同类型项目中的不同文件,这可能吗?

Von*_*onC 7

你可以:

  • 有一个模板回购:
    • 那些xxx.gitignore文件:
    • 一个带有" xxx-gitignore-xxx" 的.gitignore文件(换句话说,带有您可以轻松识别的内容
    • 一个.gitattribute过滤器驱动程序

(对于每个新的repo,你克隆它并且可以从已经存在的那些文件开始.
然后你删除远程'origin'或者用你要推送到的任何远程repo替换它)

在此输入图像描述

在您的repo的任何结帐时,过滤器驱动程序将通过涂抹脚本:

  • 识别内容中的.gitignore文件
  • 检查xxx.gitignore内容是否已经存在(通过查找仅包含那些文件的特定字符串)
  • 如果它们的内容不存在,它将附加这些xxx.gitignore文件的内容
  • 如果内容已经是最新的,它不会修改.gitignore.

请注意,拥有可识别内容是关键,因为过滤器驱动程序脚本没有它过滤的文件的名称/路径.

这有点令人费解,但似乎是实现所需"包含"功能的唯一方法.

  • 善用属性,不会想到它,但希望它不存在.不必要的复杂性IMO. (2认同)

man*_*lds 6

您将获得的关闭是全局忽略文件:

git config --global core.excludesfile ~/.gitignore
Run Code Online (Sandbox Code Playgroud)

这当然就像.gitignore在回购中有一个,但适用于你系统上的所有回购(而不是传播到外部克隆).

  • 谢谢!但我已经有了全局忽略文件.我只是想忽略不同类型项目中的不同文件,可能吗? (4认同)

Joe*_*Joe 5

我运行的项目托管了最大数量的 gitignore 模板,并且它非常易于使用。

这不允许任何人包含子模板,但它确实从各个 git 模板生成一个大模板。

  • 这个答案比其他答案来得晚得多,但值得更多关注。 (2认同)