代码之家  ›  专栏  ›  技术社区  ›  secondman

Gitignore语法忽略动态目录

  •  1
  • secondman  · 技术社区  · 11 年前

    我的应用程序中有一个主题目录,其中包含应用程序部分的目录,然后在主题名称目录下,在该目录下,还有一个视图目录,可能还有控制器、语言和模型目录,如下所示:

    theme
       admin
          themename
             view
       front
          themename
             view
             controller(optional)
             model(optional)
             language(optional)
    

    所有视图都应包含在repo中,因为它们是核心安装的一部分,但控制器、模型和语言文件将由开发人员添加,以覆盖具有相同名称和结构的核心文件。这些文件不应包含在回购中,因为它们不是基于核心的。

    我第一次尝试:

    /app/theme/*/*/*
    !/app/theme/*/*/view
    

    这不起作用,所以我进行了研究,似乎 ** 应该表示一个动态目录,所以我尝试了:

    /app/theme/**/**/*
    !/app/theme/**/**/view
    

    但这些文件仍包含在回购中。

    我错过了一些技巧,让这些被忽略了吗?

    1 回复  |  直到 11 年前
        1
  •  3
  •   Joker234    11 年前
    /app/theme/*/*/*
    !/app/theme/*/*/view
    

    在。gitignore为我工作。

    如果您已经提交了文件,则必须从git存储库中删除这些文件。 你必须这样做:

    git rm app/theme/*/*/{controller,language,model} --cached