Git各种错误操作撤销的方法

本文详细介绍了Git的重置和撤销操作,包括如何使用gitreset--mixed取消已添加的文件,gitreset--hard回退到指定commit,以及gitrevert撤销commit。此外,还讲解了如何在未push的情况下撤销merge操作,以及在IDEA中如何实现。特别强调了gitreset--hard的危险性,推荐使用gitrevert作为更安全的选择。
摘要由CSDN通过智能技术生成

场景1:Git Add了一个错误文件

git reset --mixed 仅取消 git add 带来的效果。

步骤1

步骤2

场景2: 本地 commit,未 push 到远程。

回退到指定到 commit号

git reset --hard commitId, 这个命令 回退到指定的commit,并且不会保留本地尚未提交的修改。所以一定要慎重使用。

取消commit时,更安全的操作: revert 更安全的操作, 使用 git revert

git revert commitId,会撤销指定的commit,但是与 reset --hard 不同的是,revert 不会丢掉被撤销的commit,而是会生成一个新的commit,其所有操作与指定的commit 相反,以此来覆盖掉该commit 的修改。

举个栗子: 按序有三个commit: c1, c2, c3。 现在我们位于c3. 使用 git commit --hard c2, 则当前状态会退回到 c2, git log, 只会看到,c2、c1. 而 如果使用git revert c2,则会新添加一个c4的commit,c4的操作与c2 完全相反。 git log 可以看到 1 ~ 4 全部的commit。

选取GIT重置HEAD

步骤二:填写commit的id 就可以取消这一次的commit

场景3  撤销push操作

操作1 :Revert Commit

场景三:Git如何撤销merge操作      命令 git merge --abort

    1.idea针对已经merge还未push的git,进行撤销。

在idea的菜单栏 选择 VCS->git->Show History

在这里插入图片描述 在git log里选择 remote(即远程分支上的git操作记录)

在这里插入图片描述 

然后选择被合并merged的分支
在被mergerd的提交记录上右键选择 Revert Commit

在这里插入图片描述

或者 选择 undo commit,然后再 revert (或者 Rollback(idea高版本叫Rollback))
 

   .

  

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值