检出历史提交后修改文件,如何用命令撤销本地改动且停留在该提交?
撤销本地改动并保留当前检出的历史提交
如果你已经检出了某个历史提交,且修改了本地文件,想要一次性撤销所有本地改动(涵盖工作区和暂存区的修改),同时停留在当前这个历史提交上,最简便的命令是:
git reset --hard HEAD
命令说明:
HEAD在此指向你当前所处的那个历史提交,而非远程仓库的最新提交。--hard参数会直接将工作区、暂存区的内容全部重置为HEAD指向的提交状态,所有未提交的本地改动都会被彻底清除,且不会切换到其他提交版本。
若你仅需撤销工作区的改动(暂存区改动保留),可使用:
git checkout .
如果暂存区也有改动需要撤销,需先执行git reset HEAD清空暂存区,再执行上述git checkout .命令。但git reset --hard HEAD是一步到位的最优方案。
内容的提问来源于stack exchange,提问作者Chan Kim
相关产品推荐
相关产品推荐

