git commit 和 git add 撤销 最终有效操作

有关git reset --hard HEAD^后显示more?的解决方案

原因:这是因为cmd控制台中换行符默认是^,而不是 ,所以它的more?的意思是问你下一行是否需要再输入,而^ 符号就被当做换行符而被git命令忽略掉了。

解决方法有如下几种:

一、加引号:git reset --hard "HEAD^"
二、加一个^:git reset --hard HEAD^^
三、换成~:git reset --hard HEAD~ 或者 git reset --hard HEAD~1

当然还可以换成git bash,powershell等就不会出现这种问题了

参考:https://www.cnblogs.com/zhaoatian/p/11677530.html

查看log日志

git log

撤销此次add,且未commit[常用]

git reset HEAD~
git reset HEAD filename // 撤销某个文件

撤销此次commit ,保留add[常用]

git reset --soft HEAD~

撤销此次commit 和 add【常用】(不删除工作空间改动代码

git reset HEAD~
or
git reset --mixed HEAD~

撤销commit 和 add【慎用】(删除工作空间改动代码,代码会回滚到最新的一次git pull的代码

git reset --hard HEAD~

其他操作参考:https://www.cnblogs.com/zhaoatian/p/11677530.html

原文地址:https://www.cnblogs.com/zph666/p/12692734.html