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

被折叠的 条评论
为什么被折叠?



