git版本回退

代码推送到远程仓库之后想回退并且不保留任何历史记录:

  1. 查看版本号信息git log
bash 复制代码
git log
commit version_example1  (HEAD -> dev, origin/dev, origin/HEAD)
Author: xxx <email>
Date: xxx
   XXX注释
   
commit version_example2
Author: xxx <email>
Date: xxx
   XXX注释
  1. 回退git reset --hard 目标版本号
bash 复制代码
git reset --hard version_example2
  1. 推送到远程仓库git push -f
bash 复制代码
git push -f

注:如果是保护分支,需要先解除保护,推送成功之后再加保护!


由于没有及时回退,导致开发组内其他同事代码更新到了之前的变更,这时候该同事执行git pull会报错:

bash 复制代码
s glt pull
hint: Pulling without specifying how to reconcile divergent branches is
hint: discouraged. You can squelch this message by running one of the following
hint: commands sometime before your next pull:
hint:
hint:    git config pull.rebase false  # merge (the default'strategy)
hint:    git config pull.rebase true   # rebase
hint:    git config pull.ff only       # fast-forward only
hint:
hint: You can replace "git config" with "git config --global" to set a default
hint: preference for all repositories, You can also pass --rebase, --no-rebase
hint: or --ff-only on the command line to override the configured default per
hint: invocation.
Already up to date.
bash 复制代码
$ git status
on brancn dev
Your branch is ahead of 'origin/dev' by l commit.
(use "git push" to publish your local commits)

注意保存好开发变更的代码

将该变更撤销即可:

bash 复制代码
git reset --hard HEAD^
相关推荐
vibecoding日记2 天前
为什么我就想要「线性历史 + Signed Commits」,GitHub 却把我当猴耍 🤬🎙️
git·编程工具
程序员小崔日记3 天前
如何将代码轻松上传到 Gitee?Git 使用全攻略!
git·gitee·上传
Bigger4 天前
为什么你的 Git 提交需要签名?—— Git Commit Signing 完全指南
git·开源·github
DianSan_ERP4 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
红豆子不相思4 天前
Tomcat 环境搭建与集群实战
服务器·git·tomcat
杰哥技术分享5 天前
Git 仓库迁移技术文档:从 CODING.net 迁移至腾讯云 CNB
git
梅孔立5 天前
Ansible 100 台服务器一键管控实战 进阶版
服务器·git·ansible
qq_426003965 天前
git切换当前分支到远程分支
git
ON10N5 天前
100% 纯 Vibe Coding,我是怎么用 AI 撸出一个 VS Code 插件的
git·ai编程·visual studio code