【问题标题】:git ignore everything but some subdirectoriesgit 忽略除某些子目录之外的所有内容
【发布时间】:2011-05-19 08:39:52
【问题描述】:

我只需要控制树上的“debian”子目录:

pkg/.git
pkg/.gitignore
pkg/package1/package1-2.2.1/debian
pkg/package2/package2-1.0/debian

我尝试了这种 .gitignore 但它不起作用:

*
!.gitignore
!*/*/debian

当我跑步时

git add package1/package1-2.2.1/debian

git 的回答是: 您的 .gitignore 文件之一会忽略以下路径: 包1

这很合乎逻辑。任何帮助将不胜感激!

【问题讨论】:

    标签: git gitignore


    【解决方案1】:

    你仍然可以添加它:

    git add -f package1/package1-2.2.1/debian
    

    顺便说一句,您可能不想忽略您的.gitignore 文件,因为您会想知道何时必须提交对它所做的任何更改。如果您不希望在存储库中提交忽略规则,则应改用.git/info/exclude

    【讨论】:

    • 可悲的是,这似乎是唯一的方法:(
    【解决方案2】:

    正如gitignore documentation 所说的前缀!

    An optional prefix ! which negates the pattern; any matching file excluded by a previous pattern will become included again. If a negated pattern matches, this will override lower precedence patterns sources.

    也许这意味着您不能使用两个结果!。尝试删除!.gitignore一会儿,然后运行git add

    【讨论】:

      猜你喜欢
      • 2011-07-19
      • 2010-11-17
      • 2013-09-26
      • 1970-01-01
      • 2010-11-11
      • 2012-08-17
      • 1970-01-01
      • 1970-01-01
      • 2011-10-23
      相关资源
      最近更新 更多