3.版本回退

作者: 朱小维 | 来源:发表于2016-11-27 22:14 被阅读107次

背景:

我在工作区新建了一个日记.md文件,每次修改并提交了三次,每次都增加一句话,如下图:

Paste_Image.png
如果我想看看我的三次提交记录该怎么办呢?

使用git log,查看提交记录

从上到下依次显示由新到旧的提交记录,

Paste_Image.png
红框内的一长串数字英文字母是commit的ID号码;
红框内的“舍不得买”是提交信息;
ctrl + c可以退出这个历史记录区,回到命令行区
如果感觉信息太多,想看缩略版,那就加上 --pretty=oneline
看,只剩下ID号和提交信息了,简洁了很多:
Paste_Image.png

我们每提交一次,git就会记录一次,这就好比我们玩游戏时的存档。下图是Git GUI 里面的的记录历史,和命令行git log的记录其实是一样的。

Paste_Image.png

要开始版本退回了

现在我们所处的版本是舍不得买,也就是GUI中的黄点

Paste_Image.png

现在想退回到前一个版本键盘很贵,应该怎么做呢?
在Git中,HEAD代表当前的版本的ID号,HEAD^代表当前版本的上一个版本,当前版本之前的第N个版本就是 HEAD~N。我们可以使用git reset命令回退版本。
git reset --hard HEAD^

Paste_Image.png
现在当前版本号变成了键盘很贵,到底变了么?我们来验证一下,打开日记.md看看内容不就知道了么。 Paste_Image.png
很神奇!!!!我们退了回去,文件内容变成了上一个版本的内容。
git log我们再看看提交日志吧。
最新的commit也变成了键盘很贵
Paste_Image.png
GUI上的舍不得买也消失了,键盘很贵左边的小点变成了黄色,变成了最新的存档。
Paste_Image.png

现在又有一个问题,我后悔了,我想还原舍不得买怎么办?这个也简单,只要我们没有关闭窗口,再回去找到舍不得买的ID,再git reset就OK了,注意ID不用全部复制,前七位就行。

Paste_Image.png

但是如果,我是关了电脑睡了一觉才后悔不想改了呢,要怎么找到舍不得买的ID?
当然有办法,使用git reflog

Paste_Image.png

总结

1.HEAD是当前的版本ID,使用git reset --hard 版本ID就可以回到对应的版本;
2.git log可以查看提交日志;
3.git reflog可以查看已经不存在的版本ID;

相关文章

  • 3.版本回退

    背景: 我在工作区新建了一个日记.md文件,每次修改并提交了三次,每次都增加一句话,如下图: 使用git log,...

  • git如何回滚到某一个分支

    1. 查看所需回退的版本 拿到你想要回退版本的commit_id 2.如何回退 回退之后,将回退的版本推送到远程分...

  • Git 撤销已经 push 到远端的 commit

    本地不需要回退(即让远端回退到本地的版本) 提交到远端 本地需要回退 先在本地回退到需要的版本 版本号可用如下指令...

  • git学习笔记2

    查看文件内容 cat file 查看历史版本 回退历史版本 git reset --hard HEAD^ # 回退...

  • git版本回退

    1、找到需要回退版本的commit id 2、回退本地版本 3、将回退的本地分支强制推送到远程仓库

  • Git学习笔记I——版本库文件管理

    创建版本库: 添加文件到版本库: 查看版本库状态: 查看文件修改: 查看各次修改: 版本回退: 版本回退之后恢复(...

  • iOS-git本地及远程分支回退

    1. git本地版本回退 2. git远程版本回退 下面的命令也可以实现远程版本回退 3.Git 如何删除远程服务...

  • Git

    回退远程版本 先回退本地版本 git reset --hard commitId或者 git reset HE...

  • GIT 回退某文件

    查询历史版本 回退到某版本

  • git 相关

    分支总结 版本回退 git reset –hard HEAD^ 回退到上个版本,git reset –hard...

网友评论

    本文标题:3.版本回退

    本文链接:https://www.haomeiwen.com/subject/lpsnpttx.html