您的文件看起来很好。只需确保每行开头没有任何空格,我花了4个小时才找到为什么我的.gitignore文件不能正确工作的原因; 原因当然是一个剪切和粘贴问题,在文件开头有一条垂直线的空格。
在确保您的.gitignore文件真正清除所有不需要的内容之前,您应该谨慎使用“git commit -a”。使用“git add *.cpp *.h”标记每个文件(或使用通配符),或者像我一样逐步完善您的.gitignore,并在提交前始终使用“git status”进行检查。
如果您想要双重确认您的.gitignore是否起作用,请
尝试。
git ls-files --others -i --exclude-standard
这个应该列出您当前正在忽略的所有文件。
要清理已添加的文件(可能使用git add .
,这是我们所有人在开始时都会犯的错误=]),您可以像@VonC所说的那样执行:
git rm <filename>
或者
git rm --cached <filename>
另一种清除您无意中添加的所有文件的选项是完全清理您的存储库,然后再次添加所有内容。如果您想清除暂存区中的所有内容,您可以运行
git --rm cached .
但是要记得在确认git status只列出你真正想添加到仓库的文件之前,不要运行
git add .
。
另一个在使用通配符时非常有用的git功能是它不需要文件路径。如果你列出被忽略的文件并发现你想要删除所有的
*.suo
和
*.log
文件,只需运行:
git rm --cached *.suo *.log
Git会查找存储库中所有符合该签名的文件,无论这些文件在树形结构的哪个位置。