在git push前怎样遗弃掉历史commit
今天写了一天代码,然后 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的更多相关文章
- git push proxy 取消不掉 can not prox....
使用这个折腾了半天 git config --global --unset http.proxy git config --global --unset https.proxy 没用,原来实现项目目录 ...
- Git 还没push 前可以做的事(转)
Git 版本控制系統(3) 還沒 push 前可以做的事 转载:http://ihower.tw/blog/archives/2622 這一集要講的是:還沒 push 前可以做的壞事,也就是 re ...
- Git 将代码恢复到一个历史的版本
Git 将代码恢复到一个历史的版本 要把代码回到某个历史版本 比如 test有两种方法 暴力的方式 如果你的仓库是自己在用(不影响别人),那么你可以使用 git reset --hard <ta ...
- git push 推送大文件失败的处理办法
不小心把数据库备份文件放到git目录里了,导致无法上传代码. 首先参考了 这篇文章 http://www.cnblogs.com/qmmq/p/4604862.html. 按照文中一开始说的去做,可还 ...
- git push报错大文件,删除后重新commit依然报错
git push报错: github不能上传大文件,按道理删掉重新提交就行了 可是删掉后,git add -A,再git commit,再git push,依然报错 后来我想明白了 github上传时 ...
- git push 的解决方案
如果输入$ git push origin master 提示出错信息: 或者 失败的原因:不能 push 远端仓库 原因分析:由于你当前分支落后与远程端对应分支,所以无法更新: 解决方案:使用 gi ...
- git push如何至两个git仓库
分别有仓库 A(github),B(JAE 的 git),本机为C. 假设以 a 仓库作为最终的使用仓库, b为发布仓库.分支都为 dev 第一步,增加远程仓库 git remote add orig ...
- git push :推送本地更改到远程仓库的三种模式
摘要:由于在git push过程中,no-fast-forward 的push会被拒绝,如何解决git push失败的问题?这里面有三种方法,分别会形成merge形式的提交历史,线性形式的提交历史,覆 ...
- git push上传代码到gitlab上,报错401或403
之前部署的gitlab代码托管平台,采用ssh方式连接gitlab,在客户机上产生公钥上传到gitlab的SSH-Keys里,则git clone下载和git push上传都没问题,这种方式很安全. ...
随机推荐
- 九度oj 题目1030:毕业bg
题目描述: 每年毕业的季节都会有大量毕业生发起狂欢,好朋友们相约吃散伙饭,网络上称为“bg”.参加不同团体的bg会有不同的感觉,我们可以用一个非负整数为每个bg定义一个“快乐度”.现给定一个b ...
- Oracle 查看 使用 UNDO 段的事务脚本
查看oracle undo segment段的信息: SELECT T1.USN, T2.NAME, T1.STATUS, T1.LATCH, T1.EXTENTS, T1.WRAPS, T1.EXT ...
- Machine Learning--决策树(一)
决策树(decision tree):是机器学习常见的算法之一.是基于树形结构进行决策的. 讲决策树就要提到“信息熵”.“信息增益”.“增益率”和“基尼指数”的概念. 我们先来介绍一下这几个概念:(讲 ...
- 【DFS序+树状数组】BNUOJ 52733 Random Numbers
http://acm.bnu.edu.cn/v3/problem_show.php?pid=52733 [题意] 给定一棵树,这棵树每个点都有一个点权,标号从0开始,0是根结点 修改操作: SEED ...
- Spring-IOC源码解读2.1-BeanDefinition的Resource定位
Spring通过ResourceLoader来处理得到的Resource.在前面我们知道容器初始化是以refresh()方法为入口的,内部的实现首先准备上下文,然后通过obtainFreshBeanF ...
- git提交之后没有push,代码被覆盖之后恢复
git reflog 通过这个看commit id git reset [commit id] --hard 有时候要删除一个index.lock文件.
- mysql语句优化方案(网上流传)
关于mysql处理百万级以上的数据时如何提高其查询速度的方法 最近一段时间由于工作需要,开始关注针对Mysql数据库的select查询语句的相关优化方法. 由于在参与的实际项目中发现当mysql表的数 ...
- HDU 3001 三进制 状压dp
Travelling Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- Laravel 之Artisan
简介: Artisan是Laravel中自带的命令行工具的名称: 由强大的Symfony Console组件驱动的: 提供了一些对应用开发有帮助的命令: 查看所有可用的Artisan的命令 php a ...
- AttributeError: module 're' has no attribute 'search'
命名py脚本时,不要与python预留字,模块名等相同,即Python文件名不要使用Python系统库的名字,就是因为使用了Python系统库的名字,所以在编译的时候才会产生.pyc文件.正常的Pyt ...