首页 > 编程语言 >PhpStorm、PyCharm、WebStorm恢复代码(附:git撤销commit、add操作)

PhpStorm、PyCharm、WebStorm恢复代码(附:git撤销commit、add操作)

时间:2023-04-06 15:58:25浏览次数:44  
标签:HEAD git -- WebStorm 撤销 add commit

由于同时管理多个项目,多种开发语言同步开发,开了好多个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

 

标签:HEAD,git,--,WebStorm,撤销,add,commit
From: https://www.cnblogs.com/T8888/p/17293017.html

相关文章

  • Git 配置 SSH,多个 Github 账号配置不同的 SSH key
    前言首先做个说明生成一对默认的私钥公钥,私钥自己客户端留着用,公钥可以给多个平台用。多对私钥公钥,主要是应对一个平台多个账号的情况。当然你想每个平台使用不同的私钥公钥也是可以的。多次生成私钥公钥需要自己重新命名,否则会覆盖之前的。Git配置SSH一、查看是否已经生成过/是......
  • PyCharm解决Git冲突
    技术背景在前面的一篇博客中,我们介绍了Fork到自己名下的本地仓库如何与远程原始仓库创建链接的方法。在这篇文章中,我们将要讲解如何应对在这种异步开发的过程中经常有可能会遇到的Git冲突问题,在Pycharm这个专业的Python开发工具中集成了一些处理Git冲突的工具,让我们一起来看看如......
  • 8.1 js addEventListener js给div添加事件
    <!DOCTYPEhtml><html><head><metacharset="utf-8"><title>testaddEventListener</title></head><body><buttonid="myBtn">clickme</button><pid="demo">&......
  • Linux: useradd groupadd
        groupadd&useraddTheyallhave--rootCHROOT_DIRAND--prefixPREFIX_DIR    ......
  • nodejs新版本引起的:digital envelope routines::unsupported
    一、起因#由于电脑重装系统,重新下载nodejs,自然更新到最新版本18,之前的版本才16。更新到最新nodejs版本后,运行vue文件,报错:this[kHandle]=new_Hash(algorithm,xofLen);^Error:error:0308010C:digitalenveloperoutines::unsupported  二、探索#常规操作,上网查原因:......
  • Github美化日记 - 又菜又爱玩
    Github美化日记-又菜又爱玩一.咱就说无论是技术大牛,或者是技术小菜,都希望有一个好看的Github首页吧!(快说你想要!![iShot_2023-04-05_18.58.32.min](https://pic.imgdb.cn/files/60499/202304051859337.png)  二.那就开始吧!1.所有的神秘皆来自一个特殊的仓库上......
  • __sync_fetch_and_add函数
    (一)背景实现多线程环境下的计数器操作,统计相关事件的次数.当然我们知道,count++这种操作不是原子的。一个自加操作,本质是分成三步的:1从缓存取到寄存器2在寄存器加13存入缓存。由于时序的因素,多个线程操作同一个全局变量,会出现问题。这也是并发编程的难点。在目前多核条件下......
  • VSCode中使用Git/git 代码管理
    1.在一个目录下clone项目:[email protected]:hemoumou-debug/libjpeg-turbo.git问题1:解决:需要从known_hosts文件中删除旧的github.comRSA密钥,然后将新的RSA密钥添加到文件中。您可以按照以下步骤操作:在文本编辑器中打开您的known_hosts文件。在Windows......
  • git bash报错fatal: detected dubious ownership in repository at的解决方法
    情况在gitbash中输入"gitadd."命令时报错"fatal:detecteddubiousownershipinrepositoryat" 原因文件夹的所有者和现在的用户不一致例如:文件夹的所有者是Administrator,而当前用户是myAccount 方法1右键文件夹->属性->所有者->更改->勾选应用到所有子目......
  • Git命令列表--git-restore
    GitRestore名称git-Restore-恢复工作树文件这个命令是试验性的。其行为可能会改变。语法gitrestore[<options>][--source=<tree>][--staged][--worktree][--]<pathspec>…​gitrestore[<options>][--source=<tree>][--staged][--worktree]--pathspec-fr......