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

这样本地文件也会删除

 

posted @ 2019-11-22 14:27  七星6609  阅读(6597)  评论(0编辑  收藏  举报