git删除已经push的远程文件或文件夹
在使用git提交项目时,有时候会误提交一下文件,比如:*.iml,*.project,*.settings,.idea/*等文件,有时候这些不需要提交的文件可以加入到.gitignore,在提交的时候可以忽略这些文件,但是有时候我们忘记,就会出现误提交一些文件,这时就需要我们删除误提交的文件,下面是使用git命令来删除已经push的误提交的文件:
注意:改方法适用于我们需要删除暂存区
或分支
上的文件, 但本地又需要使用, 只是不希望这个文件被版本控制
比如:我们就拿删除 integration-engine-stream.iml 作为例子
1.预览暂存区我们需要删除的文件或文件夹(此步骤可以预览我们要删除的文件或文件夹是否是我们要删除的,有没有或多或少删除)
git rm -r -n --cached 文件/文件夹
$ git rm -r -n --cached integration-engine-stream.iml rm 'data-integration-engine-stream/integration-engine-stream.iml'
使用 -n 参数,执行命令时,是不会删除任何文件,而是展示此命令要删除的文件列表预览。由此我们看到只有要删除的文件 integration-engine-stream.iml
git rm -r 参数为递归删除,主要是在删除文件夹时可以递归删除文件夹下面的文件或文件夹
2.确认无误后删除暂存区文件或文件夹,只需去掉 -n 参数
git rm -r --cached 文件/文件夹
$ git rm -r --cached integration-engine-stream.iml rm 'data-integration-engine-stream/integration-engine-stream.iml'
3.将本次删除暂存区的改动提交
git commit -m 'delete remote integration-engine-stream.iml'
$ git commit -m "delete remote integration-engine-stream.iml" [Ft_di_carrefour 1afcb47a] delete remote integration-engine-stream.iml 1 file changed, 250 deletions(-) delete mode 100644 data-integration-engine-stream/integration-engine-stream.iml
4.将本次删除push到远程仓库
git push
另外:当我们需要删除暂存区
或分支
上的文件, 同时工作区也不需要这个文件了, 可以使用如下命令:
git rm file_path git commit -m 'delete somefile' git push
这样本地文件也会删除
百流积聚,江河是也;文若化风,可以砾石。