git 撤回 (git版本回退处理)

项目中,我们会遇到 提交的项目代码有问题,需要执行撤回命令,但是发现撤回之后还是会运行失败。
下边是一个好方法,亲测比 git reset --hard 版本号 有效。
下面我们详细解说一下。

一: 已提交,没有push 回滚

当我们本地已经 执行了git commit -m “说明内容”,但还没有 进行 git push,如何回滚呢
操作如下:

1 执行 git status 命令 查看本地的commit 提交记录。

在这里插入图片描述
2 在执行 git log 命令 查看commit 提交的版本号

在这里插入图片描述
然后输入 q 就会退出。

3 (3种方法)
再去执行 git reset --soft ;会撤销commit,但不会撤销add;
或者执行 git reset --mixed ;会撤销commit,也撤销add;
再或者执行 git reset --soft 版本号 ;会撤回你提交的commit。

你看你需要哪一种

4 验证一下 再去执行 git status 看看也没有commit 了
在这里插入图片描述
就证明可以了。

二:已提交,并且push,回滚

看第二种方法吧,建议使用

方法一 :git reset 方法
git reset --hard 撤销并舍弃指定的版本号之后的提交记录。使用需要谨慎。
注意:是版本号之后的所有提交记录,谨慎用!

示例: git reset --hard fedadc2efcf639da22631c60ae706mmmmm
在这里插入图片描述
然后需要push到远程分支,但是直接git push, 是会报错的,因为本地版本落后于远程,需要强制push
在这里插入图片描述
强制push 执行 git push -f 命令,然后查看本地和远程分支,可以看到我们的commit提交的那个版本没有了,版本回退到了提交之前的版本
在这里插入图片描述
这种强制提交,如果使用的是gitlab, 权限不是maintainer, 提交也会失败,需要找管理员提交。
注意:这种方式会把提交的代码直接舍弃,非常不建议使用!

第二种建议使用 git revert
(这种方法非常适用于提交后报错一直解决不了的,前提是提交前项目可以正常运行)
git revert 撤销。但是保留了提交记录。并且他是移除指定的提交。
获取需要回退的版本号,注意这里和上面的不一样,上面的是回退到之前的某一个版本,现在是撤销当前的版本。
1 执行 git log 命令 查看已经提交过的commit信息版本号
2 git revert 版本号,(例子 git revert 1212121212)
3 输入键盘 i 键,进入编辑状态,改一下提交的名称,
4 键盘Esc键,再去输入冒号 ,在输入 wq, 执行一下回车enter键,就ok了
5 然后再git push到远程分支,即可。

(当然了你在第3个步骤的时候也可以不编辑,直接操作下一步就行,
i ——> ESC ——> : ——> wq ——> enter ——>push)
这种方式可以只回退某一个版本,并且回退之后,还会保留之前版本的记录。推荐

在VSCode中进行Git版本回退的步骤如下所示: 1. 首先,通过使用命令行或VSCode的终端打开项目所在的文件夹。 2. 使用"git log"命令查看项目的提交历史,找到你想要回退到的版本版本号。 3. 使用"git revert -n 版本号"命令来进行版本回退。这个命令会创建一个新的提交,撤销指定版本之后的所有变更。 4. 然后,使用"git commit -m 版本名"命令提交这个新的撤销提交。 需要注意的是,当进行版本回退时可能会出现冲突。如果出现冲突,需要手动修改冲突的文件,并使用"git add 文件名"命令将修改的文件添加到暂存区。 通过以上步骤,你就可以在VSCode中进行Git版本回退了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [vscode git撤回本地提交commit和 撤销push推送回退版本](https://blog.csdn.net/xaiolele/article/details/125126671)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [git版本回退_动力节点Java学院整理](https://download.csdn.net/download/weixin_38709466/12965380)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值