专栏首页前端杂谈git远程库代码版本回滚方法

git远程库代码版本回滚方法

最近使用git时, 造成了远程库代码需要回滚到之前版本的情况,为了解决这个问题查看了很多资料。

问题产生原因: 提交了错误的版本到远程库。

以下是解决的方法, 供大家参考:

1.对本地代码库进行回滚

git log 查看提交历史,找出要回滚到的commit-id
git reset --hard commit-id :回滚到commit-id
git reset --hard HEAD~3:将最近3次的提交回滚

2.远程代码库回滚

进行这一步的时候遇到了困难,尝试了多种方法, 查看很多资料都提到使用git push -f 进行强推, 来覆盖远程仓库代码, 但是公司使用了gerrit代码审查软件, 会对代码审查后然后再手动去合入, 导致这个方法失效了。

最终采用了如下方法

git checkout the_branch  切换分支
git pull
git branch the_branch_backup   备份一下这个分支当前的情况
git reset --hard the_commit_id   把the_branch本地回滚到the_commit_id
git push origin :the_branch   删除远程 the_branch
git push origin the_branch //用回滚后的本地分支重新建立远程分支
git push origin :the_branch_backup //如果前面都成功了,删除这个备份分支

由于使用了gerrit,gerrit中心库是个bare库,将HEAD默认指向了master,因此master分支是不能进行删除操作的,所以在操作过程中创建了一个新的分支,把回滚后的代码提交到新建的分支上, 再合入到master分支上,这样远程库的代码回滚就完成了。

如有问题,欢迎交流。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 移动端引入的字体文件过大处理方法

    用户1741436
  • 项目中如何使用babel6详解

    用户1741436
  • 深入vue - 源码目录及构建过程分析

     公众号原文链接:深入vue - 源码目录及构建过程分析    喜欢本文可以扫描下方二维码关注我的公众号 「前端小苑」

    用户1741436
  • numpy.argmax

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    于小勇
  • git pull报错:There is no tracking information for the current branch

    当删除了本地的.git文件后,需要重新和远程仓库建立连接后才能继续更新和上传代码,一般情况下我们采用的步骤是: 1.git init 2.git remot...

    无邪Z
  • 基因组作为功能程序(CS NE)

    我们讨论了一个具有功能架构的基因组程序模型,并将达尔文进化论的方法视为功能程序设计的学习问题。特别地,我们介绍了一个用于某些类功能程序的学习模型。这种方法与信息...

    小童
  • Git_错误_01_failed to push some refs to 'git@github.com

    shirayner
  • VBA_CAD获取用户输入的坐标点

    prompt1 = vbCrLf & "Enter the start point of the line: "

    巴西_prince
  • dojo 学习日记 之 数组操作

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://louluan.blog.c...

    亦山
  • [L5]快速掌握Series~过滤Series的值和缺失值的处理

    由于在公众号上文本字数太长可能会影响阅读体验,因此过于长的文章,我会使用"[L1]"来进行分段。这系列将介绍Pandas模块中的Series,本文主要介绍:

    触摸壹缕阳光

扫码关注云+社区

领取腾讯云代金券