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

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

git reset --hardcommit-id 命令:回退到指定版本。(hard:强硬,严格的回退)

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

(提示:该命令慎用。)

示例开始:

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

1)查看本地版本库日志

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

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

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

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

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

说明:

HEAD is now at 529ad74 第3次提交,新增内容:readme.txt file v3

意思:HEAD现在位于commit-id为 529ad74 的提交,提交说明为: 第3次提交,新增内容:readme.txt file v3 。

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

回退后,我们再次对比了工作区、暂存区与本地库中版本中文件的差异:没有内容差异,完全一样。

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

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

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

7)恢复到回退前版本

上面说了,使用 git reset --hard 命令回退,做了三个 *** 作:

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

可以看到工作目录中是非常干净的。

所以若要恢复到回退之前的版本,只能使用 git reset --hard 命令回退。

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

1、 git reset HEAD^ :回退版本,一个^表示一个版本,可以多个^,上上个版本就是 git reset HEAD^^

2、 git reset HEAD~100 回退当然往上100个版本

3、 git reset HEAD filename :回退文件,将文件从暂存区回退到工作区  也可以 git reset filename

一. 相关git命令

1.git branch:查看当前分支,如果在后面加-a则表示查看所有分支。

2.git log:查看提交历史,在commit id这一项中可以看到提交的历史版本id。

3.git reflog:查看每一次命令的记录

4.git reset --soft:回退到某个版本,只回退了commit的信息。

5.git reset --mixed:为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息。

6.git reset --hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容,撤销的commit中所包含的更改被冲掉。

二:步骤

1.回滚到指定版本

首先进入项目根目录下,使用git log 命令,找到需要返回的commit id 号,使用git reset --hard 后跟你需要的commit id号,这样你就回到了指定的版本,注意git reset --hard与git reset  --soft的区别:

git reset –-soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。通常使用在当你git commit -m "注释"提交了你修改的内容,但内容有点问题想撤销,又还要提交,就使用soft,相当于软着路;

git reset -–hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容,撤销的commit中所包含的更改被冲掉,相当于硬着路,回滚最彻底。

2.返回到最新版本

当你发现需要回滚到最新版本时,可以采用以下指今步骤

git log:查看历史提交

git reflog:查看每一次命令记录

通过git reflog命令查看到之后,我们再利用 git reset 来返回到相应的版本即可,HEAD前面的一串字符为我们简写的ID,所以最后输入

git reset --hard ca936c3即回滚到了最新的版本号了


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

原文地址: https://outofmemory.cn/tougao/6066296.html

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

发表评论

登录后才能评论

评论列表(0条)

保存