【学了就忘】Git后悔药 — 33.版本回退 *** 作(二)

【学了就忘】Git后悔药 — 33.版本回退 *** 作(二),第1张

git reset --mixed commit-id 命令:回退到指定版本。(soft:混合的,即:中等回退。)

该命令不仅修改了分支中HEAD指针的位置,还将暂存区中数据也回退到了指定版本。

但是工作区中的版本仍是回退前的版本。

--mixed 参数是 git reset 命令的默认选项。

示例开始:

首先在版本库中的 readmetxt 文件中添加一行内容,并提交该内容。我们的目的就是要再回退到该版本。

1)查看本地版本库日志

2)向 readmetxt 文件中新增一行数据,并提交到本地版本库

3)现在比对工作区与暂存区、暂存区与本地版本库的差异

我们可以看到此时,工作区、暂存区与本地版本库中的 readmetxt 文件状态无差异。

4)开始回退 *** 作,退回到V3版本

使用 git reset --mixed HEAD^ 命令,退回到前一个版本。

说明:

5)回退后,对比工作区、暂存区与本地库中版本中文件的差异

回退后,我们再次对比了工作区、暂存区与本地库中版本中文件的差异:

说明:工作区中的内容没有回退,但是暂存区和本地库中的内容回退到了之前的版本。(重要)

6)查看本地版本库的提交日志信息

从上我们可以看到:(重点)

7)恢复到回退前版本

上面说了,使用 git reset --mixed 命令回退,做了两个 *** 作

而工作区内容不回退。

我们现在来查看一下工作目录中的文件状态。

我们可以看到 readmetxt 文件是修改未暂存状态。

所以若要恢复到回退之前的版本,也是两种方式:

第一种常规 *** 作,这里就不演示了。下面演示一下第二种方式:

我们查看到, readmetxt 文件的内容已经完全恢复。

git 获取的可不仅仅是“最新”的代码,还包括历史代码。 你可以用 git log, git tag, git branch -a 等命令查看内核代码的历史信息, 标签信息(不同的正式版本应该都打有相应标签),分支信息等。 可以用 git checkout xxx 的命令来切换到 xxx 版本。

显然,你应该先简单学习一下git的用法……

进入项目目录:

一、git branch test 新建一个test分支

二、git checkout test 切到该分支上

三、git reset --hard HEAD^1 将该分支的HEAD切到上一次提交上

了解下git reset命令的相关用法

git的强大就在于分支管理,你要是装了相关的客户端的话,更简单,比如sourcetree,选中那次commit,然后右键branch,新建一个分支即可

查找历史记录:

git log

注意: 使用前7位数字

2

暂时回滚到某版本

git checkout 77e3873

3

回滚到主分支

git checkout master

首先确保你的本地git工作目录下已经增加了远程分支了使用gitremote-v查看。如果没有则先使用gitremoteadd命令添加一个(假设名为origin,分支为master)。如果已经有了,则使用gitpushoriginmaster命令提交当前工作目录下的分支到远程master分支

需要回滚的commit之后的信息在本地和远程都彻底消灭了(慎重,确保你真的不要这些信息了哦)。

而你需要回滚的commit之前的信息全部保存了,只不过是分支名字换了一下,你也可以把分支改名回来。这时远程的新分支还不存在,你之后又改动commit并且push之后,远程也和本地同步上了。

以上就是关于【学了就忘】Git后悔药 — 33.版本回退 *** 作(二)全部的内容,包括:【学了就忘】Git后悔药 — 33.版本回退 *** 作(二)、使用git版本控制工具一般都是下到最新的linux内核,如何使用git下载旧的linux内核、git 获取本地特定commit版本等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10100782.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存