Git回退版本的方式

一、通过git命令

1、恢复到一个旧版本并且旧版本后的都不要

关键命令:git reset

回退原理:git reset --hard命令会将HEAD指针、当前分支指针和索引区都移动到指定的commit ID,从而重置工作区为该版本。

步骤一:查看版本号。git log查找历史或使用git reflog命令查找合并操作的commit ID,找到需要回滚的目标版本号

步骤二:使用 git reset --hard 版本名 命令将版本回退。此命令会将HEAD指针、当前分支指针和索引区都指向指定的commit ID,并重置工作区为该版本。

步骤三:使用 git push -f 提交更改。此时如果用“git push”会报错,因为我们本地库HEAD指向的版本比远程库的要旧,用“git push -f”强制推上去。

2、恢复到一个旧版本并且旧版本后的都保留

关键命令:git revert

回退原理:git revert命令会生成一个新的提交,该提交会包含撤销指定提交的更改,从而达到回退版本的效果

步骤一:查看版本号。git log查找历史或使用git reflog命令查找合并操作的commit ID,找到需要回滚的目标版本号

步骤二:使用  git revert -n 版本号 反做。 这里可能会出现冲突,那么需要手动修改冲突的文件。而且要git add 文件名

步骤三:提交。使用 git commit -m 版本名 提交。

步骤四:使用 git push 推上远程库。

二、通过IDEA回退版本

1、获取版本号。

方式一:打开IDEA的终端,输入 git log 显示历史提交记录。

方式二:右击项目–> Git --> Show History -->选中要回退的版本–>Copy Revision Number,直接复制;

2、输入命令 。git reset --hard 版本号

3、输入正式回滚命令。 git push -f -u origin master

三、总结一些回退命令

1、命令

命令 作用
git log 查看历史提交记录
git reset HEAD 回退到当前版本(取消暂存区的内容)
git reset --hard HEAD^ 回退到上个版本
git reset --hard HEAD^ 回退到上上个版本
git reset --hard id (commit hash值) 回退到指定版本

2、git reset --hard & git reset --soft & git reset --mixed 的区别

hard -> 工作区、暂存区、commit 同时回滚

soft -> 保留工作目录、暂存区

mixed->保留工作目录

猜你喜欢

转载自blog.csdn.net/weixin_47382783/article/details/133322734
今日推荐