您的位置:首页 > 其它

Git之版本回退

2016-07-13 10:53 197 查看
Git,我们不断的修改、提交,有的时候,我们有了好的想法,会想回退到没有提交之前的版本,这个时候我们怎么做呢,我们来看一下!

首先:我们先来给readme.txt增加一行内容

$ echo "git is a distibuted version1.2 control system" >> readme.txt
$ git add readme.txt
$ git commit -m "第二个版本"


执行完这三条命令,我们已经增加了一行内容并把它提交了,我们可以用 git log 来看一下提交记录

$ git log
commit 472228e5df0e43d6d573bee5f0eba1bb173618ba
Author: uniquemei <xxxx@qq.com>
Date:   Wed Jul 13 09:36:42 2016 +0800

第二个版本

commit 928f4b4230cf9440d61e5d7ef2dc70a8c5b10eb6
Author: uniquemei <xxxx@qq.com>
Date:   Tue Jul 12 18:01:35 2016 +0800

wrote a reademe file


可以看到我们提交了两次,这样看,我觉得有点不舒服,想美化一下,来美化一下

$ git log --pretty=oneline
472228e5df0e43d6d573bee5f0eba1bb173618ba 第二个版本
928f4b4230cf9440d61e5d7ef2dc70a8c5b10eb6 wrote a reademe file


这样,我们看着舒服简单多了,那么现在我想回退到第一次提交的那个版本,看看之前的内容,怎么办呢?

$ git reset --hard HEAD^
HEAD is now at 928f4b4 wrote a reademe file


现在,我们就回退到没有提交之前的那个版本了,我们可以来查看一下里边的内容

$ cat readme.txt
Git is a version control system


这是我们没有添加内容之前的版本。

现在我又想回到我最新的版本了,怎么办?首先,我们得知道新版本的commit_id,用 git reflog 可以查看

$ git reflog
928f4b4 HEAD@{0}: reset: moving to HEAD^
472228e HEAD@{1}: commit: 第二个版本
928f4b4 HEAD@{2}: commit (initial): wrote a reademe file


那么,我们要由过去回到未来了

$ git reset --hard 47222
HEAD is now at 472228e 第二个版本


来,我们在来查看一下内容

$ cat readme.txt
Git is a version control systemgit is a distibuted version1.2 control system


版本已经又回到我们最新的版本了!

更多知识,请查看廖雪峰大神的网站
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: