Git回退代码操作大全

git回退代码的三种方式mixed,soft,hard
基于IDEA操作,也有纯命令操作,操作方式几乎差不多,在这里不做赘述。

一、.mixed的操作(IDEA的默认操作)
在这里插入图片描述

1.左下角git指向标,点击看到我们的git操作日志。选择你要回退的版本。
复制Reversion Number***
在这里插入图片描述

2.在git---->resposity----->Reset Hard粘贴你的Reversion Number,点击确定.
这时候你本地的代码和本地仓库都回退到commit状态下.
在commit状态下回退代码.成功!
在这里插入图片描述

在这里插入图片描述

3.这时候你以为工作完成了吗?不不不 还没有,我们的远程仓库上还保留的代码。这时候,我们需要在terminal窗口下

4.执行git push -f 强制推送本地的代码到远程仓库中,进行更新。
在这里插入图片描述

6.更新完成后,本地的提交记录也消失了 更新完成!!!
在这里插入图片描述

选择HARD类型是强制删除,本地代码和本地仓库的代码会直接回退,有点暴力不太喜欢.
至于soft类型和mixed的类型差不多,在这里也不做过多赘述.

PS后话:IDEA帮我们集成了大量的git操作,如切换分支,拉新分支,合并分支,rebase暂存,cherry-pick等等优秀的操作,等待着大家去探索!!!

Git 中,回退代码是一个常见的操作,具体取决于你希望回退到哪个版本以及是否需要保留当前更改。以下是几种常见的回退代码的场景和对应的解决方案。 --- ### 1. 回退到某次提交(保留工作区更改) 如果你希望回退到某个特定的提交,但又不想丢失当前的工作区更改,可以使用以下方法: ```bash # 查看提交历史,找到目标 commit 的哈希值 git log # 假设目标 commit 的哈希值为 abc1234 git reset --soft abc1234 ``` #### 解释: - `git log`:查看提交历史,找到目标 commit 的哈希值。 - `git reset --soft abc1234`:将 HEAD 指针移动到指定的 commit,同时保留工作区和暂存区的更改。 --- ### 2. 回退到某次提交(丢弃工作区更改) 如果你希望回退到某个特定的提交,并且不需要保留当前的工作区更改,可以使用以下方法: ```bash # 查看提交历史,找到目标 commit 的哈希值 git log # 假设目标 commit 的哈希值为 abc1234 git reset --hard abc1234 ``` #### 解释: - `git reset --hard abc1234`:将 HEAD 指针移动到指定的 commit,并丢弃工作区和暂存区的所有更改。 **注意**:`--hard` 是一个危险操作,因为它会永久删除未提交的更改,请谨慎使用。 --- ### 3. 回退到上一次提交 如果你只需要回退到上一次提交,可以使用以下命令: ```bash # 回退到上一次提交,保留工作区更改 git reset --soft HEAD~1 # 或者回退到上一次提交,丢弃工作区更改 git reset --hard HEAD~1 ``` #### 解释: - `HEAD~1` 表示上一次提交。 - `--soft` 和 `--hard` 的作用同上。 --- ### 4. 回退某次提交的更改(保留后续提交) 如果你只想撤销某次提交的更改,而保留后续的提交,可以使用 `git revert`: ```bash # 查看提交历史,找到目标 commit 的哈希值 git log # 假设目标 commit 的哈希值为 abc1234 git revert abc1234 ``` #### 解释: - `git revert abc1234`:生成一个新的提交,撤销 `abc1234` 的更改,同时保留后续的提交记录。 --- ### 5. 强制推送回退后的代码 如果回退后需要将更改推送到远程仓库,可能需要强制推送: ```bash git push origin <branch_name> --force ``` #### 解释: - `--force`:强制推送本地分支到远程分支,覆盖远程的历史记录。 **注意**:强制推送会影响其他开发者的工作,请确保团队成员知晓这一操作。 --- ### 示例代码总结 以下是一个完整的回退流程示例: ```bash # 查看提交历史 git log # 假设目标 commit 的哈希值为 abc1234 # 回退到该 commit,保留工作区更改 git reset --soft abc1234 # 如果需要丢弃工作区更改 git reset --hard abc1234 # 如果需要撤销某次提交的更改 git revert abc1234 # 强制推送回退后的代码 git push origin <branch_name> --force ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值