需求分析
假设小明有一天不小心把本地仓库的一个文件夹A推送到了远程GIT服务器(例如:github,gitlab,gitee)上,此时想删除远程仓库的文件夹A,但是本地又不想删除。小明于是去问小红,怎么办?小红不假思索的说,github,gitlab 不是可以删除吗?你直接在远程服务器上操作呀。小明告诉小红,你有所不知,远程操作只能操作单个文件,无法删除文件夹,你可不会傻到一个一个文件去删除。小红说,那怎么办呢?
解决办法
方法一
这里以删除 .setting 文件夹为案例
git rm -r --cached .setting #--cached不会把本地的.setting删除
git commit -m 'delete .setting dir'
git push -u origin master
- 方法二
如果误提交的文件夹比较多,方法一也较繁琐
直接修改.gitignore文件,将不需要的文件过滤掉,然后执行命令
git rm -r --cached .
git add .
git commit
git push -u origin master