听闻少年二字,当与平庸相斥。这篇文章主要讲述#yyds干货盘点#Git版本回退的方式相关的知识,希望能为你提供帮助。
Git版本回退相关视频教程(来自动力节点):https://www.bilibili.com/video/BV1iv411p7ap
相关资料下载:http://www.bjpowernode.com/?51cto
如果我们继续对 readme.txt 文件进行修改,改成如下内容:
Git is a distributed version control system.
Git is free software distributed under the GPL.
然后添加并提交:
$ git add readme.txt
$ git commit -m "append GPL"
[master 1094adb] append GPL
1 file changed, 1 insertion(+), 1 deletion(-)
【#yyds干货盘点#Git版本回退的方式】到目前为止,readme.txt 文件一共有三个版本被提交到了 Git 仓库里,我们可以用 git log 命令进行查看:
git log
$ git log //查看历史记录
commit 1094adb7b9b3807259d8cb349e7df1d4d6477073 (HEAD -> master)
Author: Michael Liao < askxuefeng@gmail.com>
Date:Fri May 18 21:06:15 2018 +0800
append GPL
commit e475afc93c209a690c39c13a46716e8fa000c366
Author: Michael Liao < askxuefeng@gmail.com>
Date:Fri May 18 21:03:36 2018 +0800
add distributed
commit eaadf4e385e865d25c48e7ca9c8395c3f7dfaef0
Author: Michael Liao < askxuefeng@gmail.com>
Date:Fri May 18 20:59:18 2018 +0800
wrote a readme file
我们还可以加上 --pretty=oneline 参数:
$ git log --pretty=oneline
1094adb7b9b3807259d8cb349e7df1d4d6477073 (HEAD -> master) append GPL
e475afc93c209a690c39c13a46716e8fa000c366 add distributed
eaadf4e385e865d25c48e7ca9c8395c3f7dfaef0 wrote a readme file //一大串数字是 commit id ,而且每个人的都不一样。
git reset
好了,现在如果我们想把 readme.txt 文件退回到上一个版本,就可以使用 git reset 命令:
$ git reset --hard HEAD^ //HEAD表示当前版本,则HEAD^表示上一个版本,那么上上版本就是HEAD^^
HEAD is now at e475afc add distributed
cat
这时候用 cat 命令查看一下 readme.txt 的内容:
$ cat readme.txt //查看 readme.txt 文件的内容
Git is a distributed version control system.
Git is free software.
果然 readme.txt 文件返回到了上一个版本。
git reset
我们现在想要回到最新的版本,还是使用 git reset 命令:
$ git reset --hard 1094a //这里不能用HEAD而必须使用 commit id ,因为最新版本在之前返回时已经被删除了,1094a就是最新版本的 commit id,可以在之前的代码中查到
HEAD is now at 83b0afe append GPL
这时再查看一下 readme.txt 文件内容:
$ cat readme.txt
Git is a distributed version control system.
Git is free software distributed under the GPL.
果然,又回到了最新的版本。
推荐阅读
- Shell脚本--循环(forwhileuntil)
- 万字教你如何用 Python 实现线性规划
- #yyds干货盘点#echarts中点击legend高亮对应的图
- Python | Python语法基础 #yyds干货盘点#
- K8SNamespace命名空间
- SpringCache#yyds干货盘点#
- #星光计划2.0#HarmonyOS分布式应用农业大棚数据监测解读
- AWS eks绑定alb 使用aws-load-balancer-controller(Ingress Controller)提供服务
- #yyds干货盘点# JavaScript之手撕callapply