Git Push大文件报错后如何撤回
昨晚在提交一个项目代码时,不小心把数据库备份文件也一起Commit了;到最后Push的时候报错了。最后弄了半天解决了,在此记录下。
如下图,文件有108M。

项目放在第三方托管平台上,根据提示查看了原因。后来看了下像单个文件最大不超过50M。
网上找处理方法,有很多种。比如删除提交过大的文件:git filter-branch --tree-filter 'rm -f 文件名' HEAD 但是这命令我这边执行不行报错:fatal: ambiguous argument 'database_bak.sql.gz'': unknown revision or path not in the working tree.
还有说删除git 缓冲区文件 git rm --cached "文件路径" 我都执行了不行。
还有撤回commit:git reset --soft HEAD^ 此命令也无效。
实际做法有两种
第一种撤回Commit。
撤回commit的真正做法应该是
1、先执行git log,查看每次commit的id。首先切换到对应分支目录下。然后:git log

因为出现问题后会尝试各种处理方式,有时候commit会有多次提交。这里要撤回所有本次和大文件提交的commit。
然后依次执行:gti reset 40cf738e636ab0ccfd60cd14b6494fd6a848113b 有多个commit记录id就执行多少次。
等你执行完后,你看git文件状态。你的大文那个绿色勾会消失;证明这文件没有被添加一样。这个时候就已经好了。
当然也可以通过小乌龟图形化的操作,直接撤回到某个提交记录上。具体就是右键show log。然后reset master to this

第二种回滚到前个版本 revert
git revert -n f330e468edeffe32f7bc8216038b069f21cae169
revert 会回滚到之前提交的某个版本,如果前后两个版本有修改同一个文件;此操作会覆盖上次版本的文件。
Git Push大文件报错后如何撤回的更多相关文章
- Nginx反向代理上传大文件报错(failed to load resource : net :: ERR_CONNECTION_RESET)
转自: https://blog.csdn.net/kinginblue/article/details/50753271?locationNum=14&fps=1 Nginx反向代理上传大文 ...
- git push origin master 报错 remote rejected] master -> master (branch is currently checked out)
解决办法: 977down vote You can simply convert your remote repository to bare repository (there is no wor ...
- git push大文件失败(write error: Broken pipe)完美解决
问题 在使用git push推送大文件(超过了100MB)到GitHub远程仓库时提示异常,异常信息如下: fatal: sha1 file '<stdout>' write error: ...
- 解决Git - git push origin master 报错
关注我,每天都有优质技术文章推送,工作,学习累了的时候放松一下自己. 欢迎大家关注我的微信公众号:「醉翁猫咪」 原因:github仓库中没有README.md文件 解决如下: 重新输入git push ...
- Git - git push origin master 报错的解决方法
亲测实用,转载保存,原文地址:https://blog.csdn.net/kangvcar/article/details/72773904 错误提示如下: [root@linux1 php]# gi ...
- Mysql导入大文件报错(MySQL server has gone away(error 2006))
前言 我们在导入mysql数据时候,mysql客户端突然报错:MySQL server has gone away(error 2006) 类似这种情况,处理思路为:调节mysql允许导入包的大小即可 ...
- 解决FileUpload上传大文件报错
<system.webServer> <security> <requestFiltering> <requestLimits maxAllowedConte ...
- linux mysql source 导入大文件报错解决办法
找到mysql的配置文件目录 my.cnf interactive_timeout = 120wait_timeout = 120max_allowed_packet = 500M 在导入过程中可能会 ...
- git 新建本地分支后将本地分支推送到远程库, 使用git pull 或者 git push 的时候报错
是因为本地分支和远程分支没有建立联系 (使用git branch -vv 可以查看本地分支和远程分支的关联关系) .根据命令行提示只需要执行以下命令即可git branch --set-upst ...
随机推荐
- 从0到1进行Spark history分析
一.总体思路 以上是我在平时工作中分析spark程序报错以及性能问题时的一般步骤.当然,首先说明一下,以上分析步骤是基于企业级大数据平台,该平台会抹平很多开发难度,比如会有调度日志(spark-sub ...
- DBA提交脚步规范
工作中需要走脚步流程,申请修改数据库,总结一些常用的语句:)提交时注明为DDL/DML_需求号_日期(各公司标准不一样)//修改字段长度使用;alter table t_task modify tas ...
- Python解析yaml配置文件
1.代码测试 import yaml fd = open('fileName.yaml', 'r') dict_tmp = yaml.load(fd) fd.close() print dict_tm ...
- OpenSSL加密系统简介
加密基本原理 OpenSSL移植到arm开发板参考 http://blog.chinaunix.net/uid-27717694-id-3530600.html 1.公钥和私钥: 公钥和私钥就是俗称 ...
- 多测师讲解自动化测试 _RF课堂_定位详解(002上午)_高级讲师肖sir
1,打开克览器 2.id定位 Input Text id=kw 我是id定位 #id定位方法 3.name定位 Input Text name=wd 我是name定位方法 #我是name定位方法 4. ...
- Makefile-4-书写命令
目录 前言 概念 Chapter 4:书写命令 4.1 显示命令 4.2 命令执行 * 4.3 命令出错 4.4 嵌套执行 make 4.5 定义命令包 参考 前言 本笔记主要记录Makefile一些 ...
- MeteoInfoLab脚本示例:OMI Grid HDF数据
OMI卫星格点数据的例子,全球臭氧柱总量分布.脚本程序: #Add data file folder = 'D:/Temp/hdf/' fns = 'OMI-Aura_L3-OMTO3e_2005m1 ...
- MeteoInfoLab脚本示例:格点数据散点图
绘制格点数据的散点图,用scaterm函数. 脚本程序: f = addfile('D:/Temp/GrADS/model.ctl') ps = f['PS'][0,(10,60),(60,140)] ...
- day28 Pyhton 面向对象 继承
1.昨日回顾 类的命名空间 静态属性\动态属性(方法) 对象的命名空间 #对象的属性 #类指针:对象能够通过这个类指针找到类 #静态属性:属于类,多个对象共享这个资源 #尽量用类名来操作静态属性 #对 ...
- 用python you-get下载视频
安装python3后 安装you-get包: pip3 install you-get 下载视频: 打开windows终端:运行 you-get url 查看视频信息: you-get -i url ...