我想忽略存储库中的所有文件,除了那些出现在bin子目录中的文件。我试着在我的.gitignore中添加以下内容:
*
!bin/*
然而,这并没有达到预期的效果:我在bin/中创建了一个新文件,但是执行git status仍然没有显示任何要提交的内容(工作目录清洁)。
有什么建议吗?
我想忽略存储库中的所有文件,除了那些出现在bin子目录中的文件。我试着在我的.gitignore中添加以下内容:
*
!bin/*
然而,这并没有达到预期的效果:我在bin/中创建了一个新文件,但是执行git status仍然没有显示任何要提交的内容(工作目录清洁)。
有什么建议吗?
当前回答
试试这个不起眼的git bug。
!bin**/**
希望能有所帮助。
支持文档git错误示例
PS:在评论之前先试一下。
其他回答
迟到了,但没有一个答案对我来说是“开箱即用”的。这一个是:
*
!bin
!bin/**
第一行忽略了所有内容 第二行包含回“bin”目录本身 最后一行包含了“bin”目录的全部内容,不管它是如何嵌套的(注意双星号),
尝试使用最新的GIT版本。
*
!*/
!/path/to/your/dir/**
对我来说,我不应该忽略父文件夹,而是使用/*在其中的文件和文件夹
-- **/node_modules
++ **/node_modules/*
then
++ !node_modules/@my-package/
我认为更好的方法是将每个模式锚定到顶部git目录,以斜杠开始模式:
/*
!/public_html
!/.gitignore
而不是忽略所有的文件,它将只忽略顶级文件,而不是那些你不想忽略的目录。
唯一的问题是bin目录本身与bin/*模式不匹配,所以git甚至没有在bin目录中查找。
我想到了两种解决方案。
.gitignore:
*
!/bin/
!bin/*
or
.gitignore:
*
!/bin/
bin /。gitignore:
!*
我更喜欢第二种解决方案,因为第一种解决方案不会停止忽略bin目录中不称为bin的子目录中的文件。这在你的情况下可能重要,也可能不重要。