今天写了一天代码,然后 git hub commit 了 多达 7 次。 可是都没有把改动正式推送上去。

结果最后要推送的时候发现中间有一个提交文件超过了100M. 是 vs 的代码性能分析报告 .vsp 文件, 我仅仅能说真的是硕大无比,一个报告竟然有800M。

那当然我希望把这个文件忽略掉,所以改动 .gitignore 文件。可是已经来不及了,由于之前的 commit 里面已经有了这个文件。 即使我在新的commit中忽略掉它,之前的commit也无法推送上去。那么仅仅能不要脸的把全部commit都遗弃掉了。又一次来过。

1. 首先备份下今天的全部改动。

2. 丢掉全部commit:

a. 从master上面copy 下HEAD版本号的SHA

b. git reset --hard SHA

3. 把今天的修改copy回来。 注意仅仅拷贝代码修改。不要把相关的git文件也拷贝回来,不然git又会说 your branch is ahead of master 7 commits blablabla...

4. 然后又一次提交代码。

git add -A, git commit -m "你的日志", git push

最后提个醒。假设有修改不妨直接push上去好,不然到最后累的是自己。今天代码没写几行。尽搞git了。

悲伤。

假设 重装 git 后发现本地的 branche 没法 match server上的 项目,能够 通过 克隆来恢复。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

Add --> Browse 选择本地项目文件夹下的 .git 文件夹。

点确定就可以。

新建一个 repository, 假设发现有错误: fatal: The remote end hung up unexpectedly

那么有可能是git/https buffer设置的问题,能够通过下面命令解决: git config http.postBuffer 524288000。

一般是由于要上传的文件太大,然后是用https协议上传的,文件大小有限制。导致上传失败。所以改下https
butter就能够。

假设是用ssh协议上传应该就没有问题。下载的话,https协议也不会有问题。通常源代码文件不会太大。

新建repo因为全部文件要打包到一起上传。非常easy超过1M,所以这个问题就easy发生。还有就是假设上传太多的图片的时候也会有这个问题。

在git push前怎样遗弃掉历史commit的更多相关文章

  1. git push proxy 取消不掉 can not prox....

    使用这个折腾了半天 git config --global --unset http.proxy git config --global --unset https.proxy 没用,原来实现项目目录 ...

  2. Git 还没push 前可以做的事(转)

    Git 版本控制系統(3) 還沒 push 前可以做的事 转载:http://ihower.tw/blog/archives/2622   這一集要講的是:還沒 push 前可以做的壞事,也就是 re ...

  3. Git 将代码恢复到一个历史的版本

    Git 将代码恢复到一个历史的版本 要把代码回到某个历史版本 比如 test有两种方法 暴力的方式 如果你的仓库是自己在用(不影响别人),那么你可以使用 git reset --hard <ta ...

  4. git push 推送大文件失败的处理办法

    不小心把数据库备份文件放到git目录里了,导致无法上传代码. 首先参考了 这篇文章 http://www.cnblogs.com/qmmq/p/4604862.html. 按照文中一开始说的去做,可还 ...

  5. git push报错大文件,删除后重新commit依然报错

    git push报错: github不能上传大文件,按道理删掉重新提交就行了 可是删掉后,git add -A,再git commit,再git push,依然报错 后来我想明白了 github上传时 ...

  6. git push 的解决方案

    如果输入$ git push origin master 提示出错信息: 或者 失败的原因:不能 push 远端仓库 原因分析:由于你当前分支落后与远程端对应分支,所以无法更新: 解决方案:使用 gi ...

  7. git push如何至两个git仓库

    分别有仓库 A(github),B(JAE 的 git),本机为C. 假设以 a 仓库作为最终的使用仓库, b为发布仓库.分支都为 dev 第一步,增加远程仓库 git remote add orig ...

  8. git push :推送本地更改到远程仓库的三种模式

    摘要:由于在git push过程中,no-fast-forward 的push会被拒绝,如何解决git push失败的问题?这里面有三种方法,分别会形成merge形式的提交历史,线性形式的提交历史,覆 ...

  9. git push上传代码到gitlab上,报错401或403

    之前部署的gitlab代码托管平台,采用ssh方式连接gitlab,在客户机上产生公钥上传到gitlab的SSH-Keys里,则git clone下载和git push上传都没问题,这种方式很安全. ...

随机推荐

  1. Python中你不知道的特性

    内置函数print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False) 本函数是实现对象以字符串表示的方式格式化输出到流文件对象fil ...

  2. 【JavaScript 11—应用总结】:下拉菜单

    导读:在web页面的显示中,总是免不了下拉菜单的设置.怎样将菜单设置的更好玩一点呢?这次,就将实现一个下拉菜单的制作.当鼠标移入的时候,菜单显示,鼠标移走,菜单关闭. 一.实现分析 首先,制作一个下拉 ...

  3. 牛腩新闻发布系统(一):SQLHelper重构(一)

    导读:在机房重构的时候,就用到了SQLHelper,但那时候即使把代码反复看了很多遍,也看了注释,还和同学交流,也依然是半懂不懂.现在,我再次用到了SQLhelper这个东西,就来说说SQLHelpe ...

  4. LogMiner配置使用手册

    LogMiner配置使用手册 1 Logminer简介 1.1 LogMiner介绍 Oracle LogMiner 是Oracle公司从产品8i以后提供的一个实际非常有用的分析工具,使用该工具可以轻 ...

  5. P1582 倒水 (二进制)

    题目描述 一天,CC买了N个容量可以认为是无限大的瓶子,开始时每个瓶子里有1升水.接着~~CC发现瓶子实在太多了,于是他决定保留不超过K个瓶子.每次他选择两个当前含水量相同的瓶子,把一个瓶子的水全部倒 ...

  6. 洛谷 [P3205] 合唱队

    区间DP 手动模拟一下,我们发现本题就是一个左右加数的区间DP #include <iostream> #include <cstdio> #include <cstri ...

  7. ElasticSearch 中 REST API 详解

    本文主要内容: 1 ElasticSearch常用的操作 2 ElasticSearchbulk命令 ES REST API elasticsearch支持多种通讯,其中包括http请求响应服务,因此 ...

  8. Java面试题集(四)

    二. Java Web基础部分 在js中如何创建一个对象? var p1={name:”tom”,”age”:12}; function Person(name,age){ this.name=nam ...

  9. mysqldumpslow不是内部或外部命令,也不是可运行的程序

    mysqldumpslow不是内部或外部命令,也不是可运行的程序 window系统,mysql版本:5.7.14. 使用mysqldumpslow命令分析日志时,报错:mysqldumpslow'不是 ...

  10. android获取手机号

    private String getPhoneNum(){ //与手机建立连接 TelephonyManager tm = (TelephonyManager)getSystemService(Con ...