在使用git提交项目时,有时候会误提交一下文件,比如:*.iml,*.project,*.settings,.idea/*等文件,有时候这些不需要提交的文件可以加入到.gitignore,在提交的时候可以忽略这些文件,但是有时候我们忘记,就会出现误提交一些文件,这时就需要我们删除误提交的文件,下面是使用git命令来删除已经push的误提交的文件:

注意:改方法适用于我们需要删除暂存区分支上的文件, 但本地又需要使用, 只是不希望这个文件被版本控制

比如:我们就拿删除  integration-engine-stream.iml 作为例子

1.预览暂存区我们需要删除的文件或文件夹(此步骤可以预览我们要删除的文件或文件夹是否是我们要删除的,有没有或多或少删除)

  1. git rm -r -n --cached 文件/文件夹
  1. $ git rm -r -n --cached integration-engine-stream.iml
  2. rm 'data-integration-engine-stream/integration-engine-stream.iml'

使用 -n 参数,执行命令时,是不会删除任何文件,而是展示此命令要删除的文件列表预览。由此我们看到只有要删除的文件 integration-engine-stream.iml

git rm -r 参数为递归删除,主要是在删除文件夹时可以递归删除文件夹下面的文件或文件夹

2.确认无误后删除暂存区文件或文件夹,只需去掉 -n 参数

  1. git rm -r --cached 文件/文件夹
  1. $ git rm -r --cached integration-engine-stream.iml
  2. rm 'data-integration-engine-stream/integration-engine-stream.iml'

3.将本次删除暂存区的改动提交

  1. git commit -m 'delete remote integration-engine-stream.iml'
  1. $ git commit -m "delete remote integration-engine-stream.iml"
  2. [Ft_di_carrefour 1afcb47a] delete remote integration-engine-stream.iml
  3. file changed, deletions(-)
  4. delete mode data-integration-engine-stream/integration-engine-stream.iml

4.将本次删除push到远程仓库

  1. git push

另外:当我们需要删除暂存区分支上的文件, 同时工作区也不需要这个文件了, 可以使用如下命令:

  1. git rm file_path
  2. git commit -m 'delete somefile'
  3. git push

这样本地文件也会删除

git删除已经push的远程文件或文件夹的更多相关文章

  1. Git删除本地分支和远程分支

    https://blog.csdn.net/sub_lele/article/details/52289996 git branch help λ git branch -h usage: git b ...

  2. git 删除本地分支和远程分支、本地代码回滚和远程代码库回滚

    [git 删除本地分支] git branch -D br [git 删除远程分支] git push origin :br  (origin 后面有空格) git代码库回滚: 指的是将代码库某分支退 ...

  3. 【GIT】git 删除本地分支和远程分支、本地代码回滚和远程代码库回滚

    [git 删除本地分支] git branch -D br [git 删除远程分支] git push origin :br  (origin 后面有空格) git代码库回滚: 指的是将代码库某分支退 ...

  4. git 删除本地分支、远程分支、本地回滚、远程回滚

    一. git 删除分支 1. git 删除本地分支 git branch -D branchname 2. git 删除远程分支 git push origin :branchname (origin ...

  5. 【转】git 删除本地分支和远程分支、本地代码回滚和远程代码库回滚

    转载自:http://m.blog.csdn.net/blog/lihongli528628/45483463 [git 删除本地分支] git branch -D br [git 删除远程分支] g ...

  6. git 删除本地分支和远程分支

    (1)使用命令git branch -a 查看所有分支 其中,remote/origin/master表示的是远程分支 (2)删除远程分支 使用命令 git push origin --delete ...

  7. GIT删除本地tag和远程tag

    以tag test为例,这个tag已经同步到远程,但是现在发现了一个问题,需要撤回该tag,git命令如下: 删除本地tag: git tag -d test 删除远程tag: git push or ...

  8. IntelliJ IDEA 创建 Git 分支并且 Push 到远程

    在 IntelliJ 的右下角,你可以看到当前的 Git 分支,然后你可以单击这个分支后,在弹出的界面的最上方有一个新建分支的选项. 然后再弹出的界面中,输入你要创建的分支名称后回车输入. 然后从项目 ...

  9. git本地仓库 push到远程仓库出现错误

    ! [rejected] master -> master (fetch first) error: failed to push some refs to hint: Updates were ...

随机推荐

  1. 【Python】模块学习之locust性能测试

    背景 locust是一个python的第三方库,用于做性能测试,可使用多台机器同时对一台服务器进行压测,使用其中一台机器作为主节点,进行分布式管理 博主测试接口的时候一直是使用python脚本,后来有 ...

  2. 苹果用户转入mate30,被恶心到了

    几年没更新博客了,今天入了新坑,一堆东西想吐槽,发一篇喷一波. 几千块的机器,牛皮癣广告居然这么鬼多,预装一打,推荐一打,不比千元机少,这TM是旗舰机啊.华为官方产的 app打着服务旗号,不给权限强退 ...

  3. php phpexcel 创建excel

    public function createExcel($result=[],$fileName=''){ \think\Loader::import('extend.excel.PHPExcel', ...

  4. JDBC——JDBC基础

    1.JDBC与数据库的交互过程概括性来说,JDBC与数据库交互有以下这些步骤:1.建立一个到数据库的连接.2.在数据库中对表执行检索.创建,或修改的SQL查询.3.关闭到数据库的连接.JDBC的类和接 ...

  5. MySQL 插件之 连接控制插件(Connection-Control)

    目录 插件介绍 插件安装 插件配置 插件介绍 MySQL 5.7.17 以后提供了Connection-Control插件用来控制客户端在登录操作连续失败一定次数后的响应的延迟.该插件可有效的防止客户 ...

  6. Linux - 搭建Web项目(Django + nginx + uwsgi)

    工作中碰到需要使用Django + nginx + uwsgi 搭建项目环境 1. 搭建基本环境 需要有python环境,不多做说明 需要安装nginx,不多做说明 需要安装uwsgi: yum in ...

  7. 爬虫 selenium + phantomjs / chrome

    selenium 模块 Web自动化测试工具, 可运行在浏览器,根据指定命令操作浏览器, 必须与第三方浏览器结合使用 安装 sudo pip3 install selenium phantomjs 浏 ...

  8. Returning array from function in C

    以下为了通俗易懂,使用意译. I've here very intersting discussion about the best and common ways to return an arra ...

  9. tween.js的API实践

    看了网上多篇关于tween的使用教程,基本上千篇一律,大多数的写法都是像下面这样: function initTween(geometry) { }; tween = }, ); tween.easi ...

  10. java:nginx(java代码操作ftp服务器)

    1.检查是否安装了vsftpd [root@linux01 ~]# rpm -qa|grep vsftpd 2.安装vsftpd [root@linux01 ~]# yum -y install vs ...