Git学习之旅--版本回退

Git学习之旅–版本回退

上篇介绍了几个常用命令,创建文件以及修改

再来温习一下
先查看一下是否有改动

$ git status
On branch master
nothing to commit, working tree clean

好的,下面开始修改

首先对文本进行修改

这是第一个文件 two

记得保存!!!

加入仓库缓存区

$ git add file1.txt

随时监控git的动态

$ git status
On branch master
Changes to be committed:
  (use "git restore --staged ..." to unstage)
        modified:   file1.txt

文件发生变动

提交到本地仓库

$ git commit -m 'del one add two'
[master 7e77647] del one add two
 1 file changed, 1 insertion(+), 1 deletion(-)

再次查看

$ git status
On branch master
nothing to commit, working tree clean

工作区是干净的。

下面我们将一起学习版本回退,目的是为了在出错的时候不至于努力全部白费。
很多时候开发过程中发现改动的并不满意,想要回到改动之前在,怎么办嘞,凉拌,开个玩笑(哈哈哈)

言归正传

git log 可以查看所有版本

上代码:

$ git log
commit 7e77647749e63f99e9519a2e11220c06d5ff7365 (HEAD -> master)
Author: tiamo19980928 <[email protected]>
Date:   Wed Apr 8 13:45:42 2020 +0800

    del one add two

commit 1d0e2a29ad71b3eefa11c3c56668bf0ae22ccc1c
Author: tiamo19980928 <[email protected]>
Date:   Wed Apr 8 11:38:31 2020 +0800

    add one

commit fa1e1cc03a9680e501e28e04a9e8b86eba9b5beb
Author: tiamo19980928 <[email protected]>
Date:   Wed Apr 8 11:18:43 2020 +0800

    这是第一次提交

显得有些杂乱,加上一个属性

–pretty=oneline

$ git log --pretty=oneline
7e77647749e63f99e9519a2e11220c06d5ff7365 (HEAD -> master) del one add two
1d0e2a29ad71b3eefa11c3c56668bf0ae22ccc1c add one
fa1e1cc03a9680e501e28e04a9e8b86eba9b5beb 这是第一次提交

最前面的一大串就是版本号

7e77647…

版本号从最近到最远排列

你需要知道版本号才可以回退

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

首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,上一个版本可以用HEAD^ 表示 上上一个用HEAD^^ 表示 以此类推 但是版本越来越多的时候,不可能这么来,比如说回退20个版本 HEAD~20

上代码:

$ git reset --hard head^
HEAD is now at 1d0e2a2 add one

同样–hard 不知道有啥用,写上准没错(尴尬)

查看一下是否回退到上一个版本

$ cat file1.txt
这是第一个文件 one

成功回退

git log 查看一下版本库状态

$ git log
commit 1d0e2a29ad71b3eefa11c3c56668bf0ae22ccc1c (HEAD -> master)
Author: tiamo19980928 <[email protected]>
Date:   Wed Apr 8 11:38:31 2020 +0800

    add one

commit fa1e1cc03a9680e501e28e04a9e8b86eba9b5beb
Author: tiamo19980928 <[email protected]>
Date:   Wed Apr 8 11:18:43 2020 +0800

    这是第一次提交

发现回退之前的把版本已经不见了,如果突然后悔,想回到之前的版本,却找不到了可咋整,别急。往下走
只要你回退之前的窗口还没有关闭,往上翻,找到它的版本号,来
上代码:

$ git reset --hard 7e77647
HEAD is now at 7e77647 del one add two

版本号很长,但是没有必要都写下来,我个人建议写七位,到底为啥我也不知道,往下看

我们来看一下

$ cat file1.txt
这是第一个文件 two

成功回到回退之前的版本

如果回退之后关掉了窗口,也不用着急,人家git 考虑的可是很全面滴

$ git reflog
7e77647 (HEAD -> master) HEAD@{0}: reset: moving to 7e77647
1d0e2a2 HEAD@{1}: reset: moving to head^
7e77647 (HEAD -> master) HEAD@{2}: commit: del one add two
1d0e2a2 HEAD@{3}: commit: add one
fa1e1cc HEAD@{4}: commit (initial): 这是第一次提交

这里就是我为什么建议七位的原因,人家电脑只显示七位…Emmm

通过 git reflog 查看历史命令,找到那一个版本的版本号即可。

你可能感兴趣的:(#,Git学习,git,github)