繁体   English   中英

Git会忽略除特定扩展名之外的所有文件,即使在子目录下也是如此

[英]Git ignore all files except those of a particular extension, even under subdirectories

如何忽略除具有特定扩展名的文件以外的所有文件,甚至考虑位于子目录中的文件?

示例:我的玩具“存储库”

./foo.xyz  
./tmp/foo.xyz  
./tmp/foo.arg  
./.gitnore  

我想保留foo.xyz和tmp / foo.xyz,但不保留foo.arg

我尝试了以下方法:

# gitignore file
*                                                                                                           
!*/                                                                                                         
!.gitignore
!*.xyz

但是foo.arg不会被忽略:(

请问在子目录中使用某种递归模式有什么帮助吗?

以防万一,请确保您的文件名为./.gitignore ,而不是问题中的./.gitnore (可能是简单的错字)。

为了确保文件被忽略,请使用一个您知道被忽略的文件,然后输入git check-ignore -v -- afile :您将查看.gitignore文件是否实际上有效。

如果没有,请尝试:

git rm --cached -r .
git add .
git commit -m "apply .gitignore"

这是一个.gitignore文件:

/Debug/      ignore a folder and all subdirectories.
/Release/
*.sdf        ignore all files in this format. (all in project directory)
sample.txt   ignore a file.

我认为您已将文件添加并提交到git。 现在试图忽略它。 不可能。 您应该从git中删除它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM