git在分支上会退到某个指定的commit

1、在idea上先备份好分支(基于现有分支new branch)

2、在gitlab管理端删除现有分支

3、在idea中大卡terminal,执行 git log 查看commit log ,找到要会退到的commit唯一码,然后执行git reset 唯一码

4、查看本地代码状态 git status

5、恢复当前目录(.表示当前目录及其所有子目录)中所有已修改但未提交的文件到它们上一次提交的状态。 git restore .

6、git status

7、从远程仓库获取最新的更改,并且删除本地仓库中已经被远程仓库删除的引用(比如远程分支)。 git fetch -p (不能漏掉这一步,否则从远端拉取后会覆盖本地的)

8、在idea中重新推送push到远端

9、完成。

### 如何在Git回退到特定的提交记录并修改该提交 当需要撤销某个具体的提交,而不是最新的提交时,`git revert` 是一种安全的方式。此命令不会改变项目的历史线性结构;相反,它创建一个新的提交来逆转指定提交所做的更改[^1]。 对于想要撤消中间某次提交的情况,可以通过 `git revert commit_id` 来实现这一操作。这里 `commit_id` 应替换为目标提交的实际哈希值。这将会创建一个新的提交,其内容是对选定提交引入变更的逆向应用,从而有效地取消了那次提交的效果而不影响之后的工作成果[^4]。 如果执行了 `Revert change by this commit` 导致所有提交被清除的现象,则可能是误用了其他命令或者是环境配置出现了问题。正常情况下,仅应看到新增了一个用于反转型更的新提交而非整个历史消失不见[^2]。 为了具体展示如何完成上述过程: 假设当前分支上有如下几个版本: ``` A---B---C---D (HEAD -> master) ``` 现在希望撤销 C 版本中的改动,那么应该这样做: ```bash # 查看日志找到目标提交ID $ git log --oneline # 假设得到的目标提交ID为 abcdefg对应于上面提到的"C" # 使用revert指令针对这个提交做反转处理 $ git revert abcdefg # 如果有冲突解决它们后继续流程 # 完成后会自动生成一条新的提交消息描述此次翻转行为 ``` 这样就成功地通过新产生的提交抵消掉了原有提交带来的变化,而无需重写任何现有历史或丢失后续工作数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值