Git书签(三)本地git commit提交之后,想撤销并保留修改的代码

本文详细介绍了如何在本地撤销Git的commit操作,包括保留代码、仅撤回提交及完全恢复至上一版本三种策略,适用于不同程度的错误修正需求。

楔子:来,干了这碗后悔药~ 明天的日子又好晴朗好快活~

 

1.今日书签

程度猿的日常中容易发毛的几件事中,有个糗羞挫的操作:一顿操作猛如虎,各种修改优化堆码信手拈来行云流水一气呵成,各种 git add、git commit 挥洒自如,最后一看,我操,这TM不是在开发分支上啊,这分支这酸爽不由自说,在看这个的恐怕都知道。

就问一句,本地 git commit 提交后,怎么撤销 commit,并保留修改的代码?

 

2.浪子回头

--mixed

git reset HEAD^

不删除工作空间提交的代码,撤销 commit,并且撤销 git add . 操作。

注意:-mixed 为默认参数。git reset --mixed HEAD^git reset HEAD^ 效果是一样的。

 

--soft

git reset --soft HEAD^

不删除工作空间提交的代码,撤销 commit,但不撤销 git add . 操作。

注意:就是说仅仅是撤回提交,修改的代码仍然保留在本地仓库。

 

--hard

git reset --hard HEAD^

删除工作空间提交的代码,撤销 commit,并且撤销 git add . 操作。

注意:就是说即撤回后,本地提交的代码也不保留。就等于恢复到了上一次的 commit 状态。

 

3.脱坑技能

1)HEAD^ 的意思是上一个版本,也可以写成 HEAD~1。如果你进行了2次 commit,想都撤回,可以使用 HEAD~2

2)如果 commit 注释写错了,只是想改一下注释,只需要执行命令行:git commit --amend。此时会进入默认 vim 编辑器,修改注释完后保存即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值