我可以在.gitignore文件中包含其他.gitignore文件吗?(like#包含在类c语言中)

我可以在.gitignore文件中包含其他.gitignore文件吗?(like#包含在类c语言中),git,gitignore,Git,Gitignore,我有一些文件,比如vim.gitignore,SVN.gitignore和CVS.gitignore(分散在我的硬盘上) 我可以简单地将这些gitignore文件包含在新Git项目的.gitignore文件中吗 编辑:我已经有一个全局忽略文件。 我只想忽略不同类型项目中的不同文件,这可能吗?您将得到的结果是全局忽略文件: git config --global core.excludesfile ~/.gitignore 这当然类似于在repo中有一个.gitignore,但适用于您系统上的所

我有一些文件,比如
vim.gitignore
SVN.gitignore
CVS.gitignore
(分散在我的硬盘上)

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

编辑:我已经有一个全局忽略文件。

我只想忽略不同类型项目中的不同文件,这可能吗?

您将得到的结果是全局忽略文件:

git config --global core.excludesfile ~/.gitignore
这当然类似于在repo中有一个
.gitignore
,但适用于您系统上的所有repo(而不是传播到外部克隆)。

您可以:

  • 具有具有以下内容的回购模板:
    • 其中的
      xxx.gitignore
      文件:
    • 一个
      .gitignore
      文件,其中包含“
      xxx gitignore xxx
      ”(换句话说,包含一个您可以轻松识别的内容
    • a
(对于每个新的回购,您都可以克隆它,并可以从已经存在的文件开始。
然后删除远程“
源文件”
”,或将其替换为要推送到的任何远程repo)


(图像显示在“”中,来自“”)

在对回购进行任何签出时,过滤器驱动程序将通过
smudge
脚本:

  • 识别
    .gitignore
    文件的内容
  • 检查
    xxx.gitignore
    内容是否不存在(通过查找只有这些文件才具有的特定字符串)
  • 如果它们的内容不在那里,它将附加那些
    xxx.gitignore
    文件的内容
  • 如果内容已经是最新的,则不会修改
    .gitignore
请注意,在这里,拥有可识别的内容是关键,因为


这有点复杂,但似乎是实现您想要的“包含”功能的唯一方法。

我运行的项目承载了最多的gitignore模板,而且非常容易使用

  • 您可以使用web在以下位置生成模板:
  • 您可以安装gitignore以键入

    输出:

  • 您还可以使用以下url更新现有模板:

  • 最后,您可以加入合并了100多个其他社区模板的模板列表,在以下位置创建最大的模板存储库:


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

谢谢!但我已经有了全局忽略文件。我只想忽略不同类型项目中的不同文件,可能吗?很好地使用属性,不会想到它,但希望它不存在。不必要ary复杂性IMO.@manojlds:“不必要的复杂性”?我同意!但这是一个可能的实现…它太复杂了。还有其他想法吗?请注意,这篇文章包含一个死图像链接。它肯定不会变得更容易理解。@MBOM007我已经恢复了图像链接,并添加了其他参考。这个答案比其他答案来得晚,但值得更多关注。
gi cvs,vim,svn