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^
相关推荐
️学习的小王几秒前
Git项目提交忽略文件怎么做?以Python项目为例,详解.gitignore
git·python·elasticsearch
愚蠢得人40 分钟前
Git Worktree实用指南:同时开发两个分支,不再反复切换
git
lskaixin5 小时前
Git命令
git
_道隐_7 小时前
git 如何把一个已经commit到本地分支的,被错误staged的文件,单独拿出来revert呢?
git
lingran__7 小时前
Git 完全指南(一):本地仓库基础操作
linux·git·开发工具·devops·版本控制
星空8 小时前
git使用
git
工藤孤独1 天前
Git Worktree 从零到多智能体实战
git
微尘寒风2 天前
【Git】的安装和使用
java·git
胖大和尚2 天前
Git初始化本地文件夹,并推送到远端
git
啵啵啵12342 天前
Git 底层原理:分支为什么只是一个 41 字节的文件
git