(前提:项目已经push,之后想要添加或是修改.gitignore文件)
一、为什么不生效
因为.gitignore文件只能作用于不在版本控制中的文件,也就是说.gitignore文件对已经被Git记录过的文件是不生效的。
二、解决办法
方法一:stash命令
适用于版本库中已经存在,且不允许删除或修改,但本地需要使用或修改,且不想提交。
使用以下命令,用于将当前工作目录中的修改保存到一个临时区域,以便你可以在切换分支或者应用其他修改之前,暂时存储并清空你的工作目录。
git stash push -- "忽略的文件或文件夹"
之后可以通过以下命令列出所有的stash,
git stash list
如果不想要stash,可以通过以下命令删除,0为id,选择想要删除的id即可。
git stash drop stash@{0}
方法二:restore命令
同样适用于版本库中已经存在,且不允许删除或修改,但本地需要使用或修改,且不想提交。
使用以下命令,用于将文件从暂存区(或者也叫做缓存区)撤销暂存。
git restore --staged 忽略的文件或文件夹
方法三:rm命令
适用于版本库中已经存在,但可以删除。
使用以下命令,用于把本地缓存删除,然后再重新初始化忽略配置并提交。
git rm -r --cached .
git add .
git commit