git回退到某个指定的版本,并提交此版本

转载地址:https://www.codenong.com/cs105978282/
转载地址:https://blog.csdn.net/m0_60935443/article/details/124546133

git

git回退到某个指定的版本,并提交此版本

需求:回退到之前git仓库的某个特定的版本,并提交此版本
注意:最好进行代码备份,提交后的版本会把之前的代码覆盖掉不显示

1. 查看提交记录获取版本号

git log --pretty=oneline
在这里插入图片描述

此时head指向的是”新建dev的提交“,复制"第一次使用gitmac"的版本号f3fd6ff869ad61d1091cc988571ccf3c24dabfd3

2. 运行git reset --hard f3fd6ff869ad61d1091cc988571ccf3c24dabfd3

在这里插入图片描述

这里head的指针已经指向了”第一次使用gitmac“
此时发现git版本回到了我们理想的状态
git回退到某个指定的版本,并提交此版本_第1张图片

3. 强制推送git push -f origin master

git回退到某个指定的版本,并提交此版本_第2张图片

此时代表已经成功回退到第一次使用gitmac版本中,并成功提交到git上
git回退到某个指定的版本,并提交此版本_第3张图片

Head指针已经指向了目标版本

4. 删除掉远程的dev分支会发现“新建dev”提交记录不见了

git回退到某个指定的版本,并提交此版本_第4张图片

所以想要回退版本并提交的时候,最好进行代码的备份

git常用操作

一. 相关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即回滚到了最新的版本号了

你可能感兴趣的:(git,github)