上篇介绍了几个常用命令,创建文件以及修改
再来温习一下
先查看一下是否有改动
$ 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 查看历史命令,找到那一个版本的版本号即可。