由于同时管理多个项目,多种开发语言同步开发,开了好多个Git窗口。今天在提交python某项目的时候不小心在vue的项目中执行了git add、git commit 操作,在push的时候悬崖勒马,于是故事开始了:我先回滚了commit,接着想把add也回滚一下,结果直接回滚到了上次提交的那个节点上,哦豁,新写的代码...它...没了,于是,掏出超级棒棒糖,奇思妙想之后有了接下来的补救操作:

在代码开发编辑器中选择自己修改的项目文件/文件夹->右键

选择“Local History” --> “Show History” 

页面展示代码更新记录

 

选择需要回退的时间序列

右键-->revert

 这样代码就恢复到自己想要的操作节点上了。

但如果是之前新建的文件或者目录,被自己的神操作弄没了,也很简单,在编辑器左侧对应的文件夹下创建自己丢失的那个目录/文件,也一样重复上述操作,一样可以找到过往的操作日志(前提是需要知道自己创建和修改的那个文件的名字)

自此,回忆一下下面的知识吧~

git commit后,如何进行撤销commit操作

在我们使用git作为版本控制工具进行代码管理之后,经常性的会碰到一个问题:git commit后,如何撤销commit,下面详细讲一下。

git add newFiles

git commit -m '新增xx页面'

执行commit后,还没执行push时,想要撤销这次的commit,该怎么办?

解决方案:
我们可以使用命令:git reset --soft HEAD^ 这样就成功撤销了commit。

使用git reset --hard HEAD^ 这样连add也撤销了。

*注:reset 命令只能回滚最新的提交,无法满足保留最后一次提交只回滚之前的某次提交。

命令解释:

HEAD^ 表示上一个版本,即上一次的commit,几个^代表几次提交,如果回滚两次就是HEAD^^。
也可以写成HEAD~1,如果进行两次的commit,想要都撤回,可以使用HEAD~2。
--soft
不删除工作空间的改动代码 ,撤销commit,不撤销add
--hard
 
删除工作空间的改动代码,撤销commit且撤销add
如果commit后面的注释写错了,先别急着撤销,可以运行git commit --amend 
进入vim编辑模式,修改完保存即可

参考链接:https://blog.csdn.net/logan_LG/article/details/81531796

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐