如何忽略除具有特定扩展名的文件以外的所有文件,甚至考虑位于子目录中的文件?
示例:我的玩具"存储库"
./foo.xyz
./tmp/foo.xyz
./tmp/foo.arg
./.gitnore
我想保留foo.xyz和tmp / foo.xyz,但不是foo.arg
我尝试了以下内容:
# gitignore file
*
!*/
!.gitignore
!*.xyz
然而foo.arg不会被忽略:(
请问有什么样的递归模式可以在子目录中找到吗?
答案 0 :(得分:2)
为了以防万一,请确保您的文件名为./.gitnore
,而不是git check-ignore -v -- afile
,因为它在您的问题中(可能是一个简单的拼写错误)。
要确保忽略文件,请删除您知道被忽略的文件,然后键入git rm --cached -r .
git add .
git commit -m "apply .gitignore"
:您将看到.gitignore文件是否实际生效。
如果没有,请尝试:
lkw
答案 1 :(得分:1)
这是一个.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中删除它。