今天写了一天代码,然后 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. [BZOJ4992] [Usaco2017 Feb]Why Did the Cow Cross the Road(spfa)

    传送门 把每个点和曼哈顿距离距离它3步或1步的点连一条边,边权为3 * t + a[x][y] 因为,走3步,有可能是3步,也有可能是1步(其中一步拐了回来) 最后,把终点和曼哈顿距离距离它1步和2布 ...

  2. 【倒跑并查集维护连通块】NCPC 2016 A. Artwork

    http://codeforces.com/gym/101550/attachments [AC] #include<bits/stdc++.h> using namespace std; ...

  3. K大数查询(bzoj 3110)

    Description 有N个位置,M个操作.操作有两种,每次操作如果是1 a b c的形式表示在第a个位置到第b个位置,每个位置加入一个数c如果是2 a b c形式,表示询问从第a个位置到第b个位置 ...

  4. BZOJ4723: [POI2017]Flappy Bird

    $n \leq 500000$个水管,每秒横坐标加一,纵坐标如果你点击就+1否则-1,问从$(0,0)$飞到$m$处最少点多少次,或者说明无解. 如果能飞到某个水管的高度区间$[L,R]$,那么答案肯 ...

  5. form:form的一点体会

    留个日程吧,明个写,下班了>>

  6. Linux中有硬件时钟与系统时钟

    在Linux中有硬件时钟与系统时钟等两种时钟.硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟.系统时钟则是指kernel中的时钟.当Linux启动时,系统时钟会去读取硬件时钟的设 ...

  7. 有关WebView开发问题(转)

    http://blog.sina.com.cn/s/blog_8241e8510101btvk.html 如何创建WebView: 1.添加权限:AndroidManifest.xml中必须使用许可& ...

  8. css3的一些新属性及部分用法

    CSS3是CSS(层叠样式表)技术的升级版本,增加了很多新属性,我们在web开发中采用css3技术可以提高程序的性能以及用户体验.而且一般面试中会问到知道哪些新增加的属性,我们不可能将所有东西一一复述 ...

  9. Java计算文件MD5值代码

    原文:http://www.open-open.com/code/view/1424930488031 import java.io.File; import java.io.FileInputStr ...

  10. linux 每天备份mysql数据

    原文:http://www.open-open.com/code/view/1433587311890 前言: 如果你的数据库文件较大,可能备份的时候需要占用很多服务器资源,所以站长要尽量选择访客最少 ...