git回滚线上代码

Posted kakawith

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git回滚线上代码相关的知识,希望对你有一定的参考价值。

    由于之前自己推代码的时候操作失误,才push代码的时候没有push到dev分支,而是push到了本地master同名分支的线上master分支,覆盖掉了线上在用的代码。在搜索解决办法的时候,发现网上给的信息大多不够全,且很多无用。所以在回滚成功之后,写一下关于回滚的文章。

 

1.如果没有push上去,可以用git reset 本地回滚到之前的代码。

 

   git log查看版本号,然后在用git reset + 版本号回滚。

 

2.如果push上去了,已经覆盖了线上的代码,就需要先用git revert + 版本号 或者 HEAD(回到上一个push的版本),将线上的代码回滚

 

  用git push -u origin master:master(可以不写,默认与分支相同) -f 强制提交。如果没有-f gitlab会拒绝你的操作。

 

3.git revert 和 git reset 的区别

  (1)git reset命令 
    1.git reset –mixed + 版本号 
      暂存区(add/index区)和提交区(commit区)会回退到某个版本,但代码不改变。 
    2.git reset –soft + 版本号 
      提交区(commit区)会回退到某个版本,暂存区(add/index区)不会回退,代码不改变。 
    3.git reset –hard + 版本号 

      暂存区(add/index区)和提交区(commit区)会回退到某个版本,代码会改变。(推荐)

  (2)git revert命令 

    git revert + 版本号 
      远程master和本地master都会回退到某个版本。暂存区(add/index区)和提交区(commit区)会回退到某个版本,代码会改变。







以上是关于git回滚线上代码的主要内容,如果未能解决你的问题,请参考以下文章

vue项目起步准备

使用git 更新线上代码

路飞-day5——git 多分支开发git远程仓库ssh方式连接远程仓库协同开发冲突解决线上分支合并远程仓库回滚

git简单的操作命令

svn上想回滚代码怎么办

项目git commit时卡主不良代码:husky让Git检查代码规范化工作