【问题标题】:gitignore - only allow certain extensions and filesgitignore - 只允许某些扩展名和文件
【发布时间】:2012-08-07 19:14:45
【问题描述】:

不知道为什么这不起作用,因为我已经完成了这个加载!也许我今天过得很糟糕……

我正在使用以下代码忽略除某些文件名和扩展名之外的所有文件

*
!.gitattributes
!.gitignore
!readme.md
!.gitkeep
!*.php

由于某种原因,它只允许我提交 .gitignore 和 readme.md,即使我在子文件夹等中有 php 文件。它有什么问题吗?仅供参考,我正在使用“git add -A”来获取要提交的文件。

提前致谢!

【问题讨论】:

  • 答案here 为我工作,在末尾添加!.gitignore

标签: git gitignore


【解决方案1】:

解决办法是告诉 Git不要忽略子目录

*
!.gitattributes
!.gitignore
!readme.md
!.gitkeep
!*.php
!*/

否则只接受第一级目录中的*.php文件,忽略所有子目录。

【讨论】:

  • 不知道为什么我以前从未这样做过,但现在效果很好。谢谢!
  • 使用 .。顶部有 * 将排除子目录中的任何 *.php 文件。这个答案不正确。
【解决方案2】:

实现这一点的最复杂的方法

在存储库 root 中创建 .gitignore 文件,并将以下行添加到 .gitignore 文件

*.*
!.gitattributes
!.gitignore
!readme.md
!.gitkeep
!*.php

这将递归地包括目录和子目录中的所有指定文件。

经过测试

git 版本 2.12.2.windows.2

【讨论】:

  • 我比接受的答案更喜欢这个答案,因为它的工作原理不仅仅是一层递归
  • 这种方法无法忽略没有扩展名的文件
  • @ojchase 确实如此,但它仍然完全解决了我的个人用例,因为如果弹出不应跟踪的文件,我可以添加适当的结尾。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-03-09
  • 2018-04-02
  • 1970-01-01
  • 1970-01-01
  • 2019-08-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多