指尖上的记忆指尖上的记忆
Home
  • 基础
  • Laravel框架
  • Symfony框架
  • 基础
  • Gin框架
  • 基础
  • Spring框架
  • 命令
  • Nginx
  • Ai
  • Deploy
  • Docker
  • K8s
  • Micro
  • RabbitMQ
  • Mysql
  • PostgreSsql
  • Redis
  • MongoDb
  • Html
  • Js
  • 前端
  • 后端
  • Git
  • 知识扫盲
  • Golang
🌟 gitHub
Home
  • 基础
  • Laravel框架
  • Symfony框架
  • 基础
  • Gin框架
  • 基础
  • Spring框架
  • 命令
  • Nginx
  • Ai
  • Deploy
  • Docker
  • K8s
  • Micro
  • RabbitMQ
  • Mysql
  • PostgreSsql
  • Redis
  • MongoDb
  • Html
  • Js
  • 前端
  • 后端
  • Git
  • 知识扫盲
  • Golang
🌟 gitHub

git之撤销merge的步骤(也适用于普通的提交):

1>git status
这会显示当前的分支状态和是否有未推送的提交
  
2>如果合并已经提交,但还没有推送,可以使用 reset 命令来撤销最后一次提交: git reset --hard HEAD~1 或者 git reset --hard HEAD^
ex:
$ git reset --hard HEAD^
HEAD is now at 20312c8f fix(): create problems
  
这会将您的分支回退到合并之前的状态。注意,这将删除合并提交以及合并带来的所有更改
  
3>如果想保留您的工作目录中的更改,可以使用 --soft 选项替代 --hard
git reset --soft HEAD~1
  
这会撤销提交,但保留更改在工作目录中
  
4>如果合并还没有提交,只是在暂存区,您可以使用(只是add 但是没有 commit)
git reset --merge
  
这会取消合并操作,并将文件恢复到合并前的状态

5>如果想撤销已经 push 到远端的提交,但本地代码改动还要保留
把 HEAD 回退,但保留改动到工作区
git reset --soft HEAD~1

强制更新远端(因为已经 push 过)
git push --force
  
5>操作完,执行 git status 查看分支状态