一件关于在git上犯浑的事情记录
来源:互联网 发布:sketch mac 激活码 编辑:程序博客网 时间:2024/05/15 13:20
题记:先让我哭一会吧/(ㄒoㄒ)/~~,然后说一件自己特别犯浑的事情,最终付出5个多小时被绑在电脑前的代价,作为一名近6年的yuanyuan着实不该犯。
在沉寂大半年后,第一次动手开始着手写业务代码,写代码的感觉一点点再找回(窃喜中….),最终历时4天终于写好了功能,这本来是多么开心的事情,可以交差愉快的玩耍了。可是,可是灾难来了,步骤是这样的
(重现场景)
准备提交到远程仓库
提交完毕(正常来说应该可以去喝茶了),可是事情来了,并且一来就是两件,欲哭无泪,
- 提交到远程仓库失败了,没有push成功,只是commit到本地仓库
- 我发现我提交的author和committer信息有误,用到的是我在github上的信息
本来还小庆幸中,幸亏push失败,不然作者信息岂不是乱了,自诩git 命令熟练的人对这个问题还不是小儿科,我可是知道使用命git rest –hard 版本号的“大神”,于是我很快用git log找到上一次的版本号
例如这样
然后执行
问题解决了有木有,又回到最初的版本了
。
。
。
可当我回到eclipse中准备重新提交时,瞬间感觉天塌了,刚才我是做什么事情了,我恢复的是本地仓库,我写的代码全部因为恢复,全没了,全没啦,几十个文件的代码,马上立刻要去恢复的是不是,就当我再去执行git log的时候,发现世界安静了,刚才的版本号呢,老长老长的我又没记住,我该如何恢复那个我曾经提交的版本(此时我是不知道git reflog,知道的话就不会世界安静了)。我只能说我被吓坏了,四天的代码,没了,小心脏扑通扑通的跳,连找度娘的事情都忘了,只知道要马上弄回来,我竟然想到的是重新写,于是我喝了杯茶,开始了,痛苦的回忆代码开始了,天啊,我要哭了,怎么写啊,好像还有很多js代码,当初都是一行行的憋出来的,作为内心强大的yuanyuan,我能承受的对不对,于是时间嘀嗒嘀嗒的过去了,当我再次把一开始实现的功能实现出来后,时间已经是下午5点,好了又可以去happy了,可是就在我嘴欠跑到群里求安慰的时候,有人提到了git reflog,瞬间,心如死灰,对啊,还有reflog,我忘记了,我记起来了,有印象了。可是我的那5个小时怎么找回来,再次泪奔。
以下很重要
git reflog 可以查看所有分支的所有操作记录(包括(包括commit和reset的操作),包括已经被删除的commit记录,git log则不能察看已经删除了的commit记录
具体一个例子,假设有三个commit
commit3: add test3.c
commit2: add test2.c
commit1: add test1.c
如果执行git reset –hard HEAD~1则 删除了commit3,如果发现删除错误了,需要恢复commit3,这个时候就要使用git reflog
现在再来讲讲为什么我的eclipse提交失败,明明本地ssh已经配置成功。我百分之两百保证我用git bash 操作绝对可以免用户名密码登陆
并且我用了如下命令验证(这里我用我的github打比方)
但是我用eclipse的egit插件提交代码的时候死活push不成功,而且不断提示要我输入用户名、密码,我都一度怀疑是不是我用的不是ssh协议用的http/https协议拉的代码,可我再次验证,我没错啊,git开头的地址,那是不是我的eclipse在那玩我,自顾自的坏了,于是我重新配置了git插件,可是还是不行,彻底崩溃,天啊,不带这样戏弄我的,
直到最后我突然醒悟,是不是eclipse没有读到本地的.ssh目录下的私钥目录,可是不是默认的吗,一般都会读到啊,还有读取的配置在哪呢,好在还有度娘,最终我查到了
就是这里,默认就应该是C盘用户目录下的.ssh目录 ,可我当时的那台开发机子,不知道谁装的系统,用户目录竟然在D盘,于是它到D盘了(一口盐汽水喷死装系统的)
但我生成的公钥、私钥我设定在了C盘。
当然最终我改好了,也提交成功了,万幸,希望各位yuanyuan不要重蹈我的覆辙。
- 一件关于在git上犯浑的事情记录
- 记录下类似BUG的一件事情
- 一件痛苦的事情
- 不爽的一件事情
- 一件奇怪的事情
- 飞鸽传书系统上开发是一件多么惬意的事情
- 关于DataSet你可能不知道的一件事情
- 一件关于数据库日志log的无聊事情
- 一件很有意思的事情
- 一件事情引发的思考
- 2014年要做的一件事情
- 记一件不大不小的事情
- 写博客是一件不容易的事情,记录一下最近移植CorsixTH的一些成果
- 记录一些工作上的事情
- 关于配置ssm过程中遇到的最痛苦的一件事情
- 学会遗忘是一件很容易的事情
- 从众真是一件很奇异的事情
- 爱是一件令人卑微的事情
- Leetcode之shell编程题总结
- Linux命令(9):mkdir
- Spring MVC提供http接口供下载文件
- HashMap的工作原理
- 基于cocos2dx的伪立体菜单
- 一件关于在git上犯浑的事情记录
- 第二周项目2-程序的多文件组织
- eclipse配置java虚拟机的方法
- ASoC Machine驱动代码框架图
- WebCamTexture摄像头画面颠倒的问题
- 【宽搜】ECNA 2015 E Squawk Virus (Codeforces GYM 100825)
- UGUI 按钮监听事件
- 【SAP ABAP】动态显示ALV
- 学习Google新建项目 Navigation Drawer Activity