[英]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.