Git 操作指南01之 消失的版本

“项目要回到1个月前的那个状态?应该怎么做?”

“好不容易修改好了新版本,老板却说要放弃,做回之前的项目再改改?”

如果你不是通过硬盘的方式一次次保存,而是采用git这个分布式版本控制系统,那么你就可以轻松回退到曾经写过的任何一个版本?对,是任何一个,从0开始那会。

只要一个要求:你要每次都提交版本。而不是放到暂存区。

案例:

比如你提交的版本顺序依次是

C3是你目前git上所在的位置。

此时,我们通过git log方式,找到所有版本的commitID

(假设分别是)

当然,这都是简化了id,实际上commitID是一长串数字

只需几个命令搞定:

于是,我们执行:

此时,再一下:

发现commitID变成了

后面的不见了!

莫急。因为 Git reset hard HEAD^^ 命令把版本回退了两个,如何再找到C12345呢?

Gig reset hard commitid登场了

这个命令的意思是:返回到任何一个commitID的版本。

不过,现实情况是:你不知道什么时候突然关闭了黑框,之前git log保存的commitid也都找不着了。通过git log方法再找id也会找不到未来的,怎么办呢?

Git reflog登场了!

这个命令会把所有的操作都打印出来,据此寻找最新一次的reset 里的commitID即可.

例如,这是我提交的一个代码,通过reflog方式查看:

只需找到HEAD@里的commitid,然后再让版本跳到未来的任何版本:

把工作版本打乱,git都不当一回事!

作者介绍:

yixiang / 北 京,毕业于上海理工工业设计系,前端工程师 ,nodejs爱好者,时间管理爱好者,每日一小步,愿与你同行..

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180225G00VS000?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券