撤销git

作者: 老薛有只猫 | 来源:发表于2023-03-22 09:53 被阅读0次

平常项目比较多,代码分支也比较多,很容易出现代码推送错误,撤销修改、冲突等情况。无论手动操作或vscode左上角源代码管理或者使用SourceTree工具,都难免会发生。解决场景如下:

add .

命令:git reset HEAD

一般这种比较容易,此时代码还没commit时可以在编辑器上看到,也可以直接手动撤销

commit

commit时,编辑器上是看不到你修改提交的代码,此时处于待推送隐藏状态,但未进行push推送命令,想撤销:

命令:git reset --soft HEAD^ 这样就成功撤销了commit。此时代码回到了commit前的状态,可以对代码进行增删改查。

也可以解决代码冲突:远程分支代码未pull拉取,直接push的,结果就是推不上去,会有冲突提示,此时应该撤销代码,拉取远程代码后,再进行操作

有人好奇,为什么加此命令就这么神奇,到底做了什么操作???

其实HEAD^ 表示上一个版本,即上一次的commit,几个代表几次提交,如果回滚两次就是HEAD^。

--soft

意思是不删除工作空间的改动代码 ,撤销commit,不撤销add

此时有小伙伴问了,我想连add状态也一起都撤销呢,当然也有办法~

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

--hard

意思是删除工作空间的改动代码,撤销commit且撤销add

顺便还有一个常遇到的情况

如果commit后面的注释写错了,先别急着撤销!!!,可以运行git commit --amend

进入vim编辑模式,修改一下注释信息就可以了

push到远端
切换到指定分支 git checkout 分支名

撤回到需要的版本 git reset --soft 需要回退到的版本号(git log命令出来就看到每条提交的记录commit后面一串数字加字母组合)

提交撤销动作到服务器,强制提交当前版本号

git push origin 分支名 --force

相关文章

  • git 常用操作回顾

    撤销add git reset HEAD 撤销commit git reset --soft HEAD^ 仅撤销c...

  • git 撤销 与 push 单个文件 与 push文件夹

    git 撤销 与 push 单个文件 撤销: git reset --soft HEAD^ 这样就成功的撤销了你的...

  • 1223

    git 撤销和删除 撤销工作区的修改:撤销某个文件的工作区修改:git checkout [--] filepat...

  • Git 常用命令

    撤销 查看log git log找到要撤销的commit id 撤销后并还原文件git reset --hard ...

  • Git版本回退

    git 撤销commit 撤销修改http://www.trinea.cn/dev-tools/git-skill/

  • git 撤销git commit(内含车协git add)

    撤销git commit 只是撤销commit, git add里面的内容仍然存在,这种功能类似于用来更改git ...

  • Git命令详解(转)

    Git命令详解 添加操作 提交操作 删除操作 撤销操作 在Git中,用HEAD表示当前版本。 撤销add 撤销co...

  • 手把手带你玩git之各种撤销

    git 各种撤销 因为git有三个区:工作区,索引区和版本区。所以git的撤销有很多种,比如: 撤销工作区: 刚写...

  • Git撤销提交命令

    1.git reset --soft HEAD^,撤销commit,但是不撤销add动作。2.git reset ...

  • git的一些基本命令

    多人合作git的一些基本命令 解决分支冲突 git撤销 在没有add之前撤销:git checkout

网友评论

      本文标题:撤销git

      本文链接:https://www.haomeiwen.com/subject/ncbvrdtx.html