码迷,mamicode.com
首页 > 其他好文 > 详细

在git push前如何遗弃掉历史commit

时间:2015-06-28 18:53:03      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:git   revert commit   reset   push   

今天写了一天代码,然后 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 push前如何遗弃掉历史commit

标签:git   revert commit   reset   push   

原文地址:http://blog.csdn.net/changtianshuiyue/article/details/46672831

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!