git reset 操作 [四种模式区别]

在进行开发时,从dev分支切换到V18.21分支前应先commit。之后使用gitreset命令可以撤销commit,soft模式保留add操作,mixed模式撤销commit和add,hard模式慎用,会清除工作区和暂存区。idea中可通过图形界面操作reset。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

  • 研发时,在dev分支修改代码,需要临时切换到V18.21分支,此时应该先commit dev分支的代码,在checkout
  • V18.21分支修改完成后,切换回dev分支,此时需要撤销commit操作恢复到当前HEAD分支
  • 执行git reset撤销操作时会有四种模式

解决方法

git bash中操作

git reset --soft HEAD~1  // 撤销commit代码改变,仍然保留git add
  • HEAD~1 表示回到上一个版本
  • 若push之前你有多次commit,即你进行了2次的commit 都想撤回 可以使用HEAD~2
    在这里插入图片描述

idea中操作

用idea可以直接在Git任务栏选择Reset Current Branch to here…操作
在这里插入图片描述

git reset --soft 	完全保留工作区和暂存区,会撤销git commit提交,保留git add操作的内容
					(所有reset都会执行这个操作)
					
git reset --mixed  	完全保留工作区,会撤销commit提交和git add操作

git reset --hard  	彻底清除工作区和暂存区,***慎用***

git reset --keep 	保留工作区和HEAD之间的差异
  • 慎重采用git reset --hard 操作,此操作会删除当前HEAD所有git commit和gir add操作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值