美文网首页
版本回退

版本回退

作者: 952625a28d0d | 来源:发表于2016-06-30 21:05 被阅读69次
之前已经学会了修改文件,然后把修改提交到Git版本库,现在,再练习一次,修改readme.txt文件如下:
Git is a distributed version control system.
Git is free software distributed under the GPL.```

- 提交

git add readme.pages
git commit -m "change readme.pages file"```

Paste_Image.png
  • 到现在为止,我们已经向git中提交了很多内容了,现在我们来看一下历史记录
git log```

![Paste_Image.png](https://img.haomeiwen.com/i189984/777ae4107e149b48.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

- 如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline
参数:

git log --pretty=oneline```

Paste_Image.png
  • 一大串类似3628164...882e1e0的是commit id(版本号),和SVN不一样,Git的commit id不是1,2,3……递增的数字,而是一个SHA1计算出来的一个非常大的数字,用十六进制表示,而且你看到的commit id和我的肯定不一样,以你自己的为准。为什么commit id
    需要用这么一大串数字表示呢?因为Git是分布式的版本控制系统,后面我们还要研究多人在同一个版本库里工作,如果大家都用1,2,3……作为版本号,那肯定就冲突了。
版本回退
  • 首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD
    表示当前版本,也就是最新的提交3628164...882e1e0
    (注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^
    ,上上一个版本就是HEAD^^
    ,当然往上100个版本写100个^
    比较容易数不过来,所以写成HEAD~100

  • 现在我们回退到上一个版本

git reset --hard HEAD^```

回退成功!
![Paste_Image.png](https://img.haomeiwen.com/i189984/a09c6d86cb420f94.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

- 再来查看版本库的状态

git log```

  • 只要有版本号 我们可以随便回退
Paste_Image.png
  • Git的版本回退速度非常快,因为Git在内部有个指向当前版本的HEAD
    指针,当你回退版本的时候,Git仅仅是把HEAD指针指向回退的版本

恢复到新版本

  • 你会退到之前的版本,但是你后悔了,想要恢复到之前的版本怎么办?Git中总有后悔药让你吃的。

首先Git保存你的每一次命令:

git reflog```

![Paste_Image.png](https://img.haomeiwen.com/i189984/84e1ff3bed0e1c50.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

- 这里记录了所有的版本号,我们直接使用命令回退到最新的版本号即可

git reset --hard cf7f320```

Paste_Image.png

总结一下:

HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。

穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。

要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

相关文章

  • 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...

  • Git常用命令

    版本回退git reset 回退add 操作Git 版本恢复还原命令 reset git reset –mixed...

网友评论

      本文标题:版本回退

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