一、前言

由于线上功能要回退,所以只能无奈的回滚代码了。下面是回滚代码的详细记录,以作参考

二、具体步骤

1、新建一个本地分支并切换到该分支(回滚代码之前先备份下):

必须先选择进pre-master分支,才能在他的基础上新建另一个分支

$ git checkout -b pre-master-1223  // 新建本地为pre-master-1223的分支并切换至pre-master-1223分支

可输入ls命令继续查看这个分支下的目录文件

2、查看一下现在本地的分支状态:

$ git branch
* pre-master-1223
  master
  export_1223

3、新建分支并推送到远程

把新建的本地分支push到远程服务器,远程分支与本地分支同名(当然可以随意起名):

$ git push origin pre-master-1223:pre-master-1223  //将本地pre-master-1223分支推送至远程pre-master-1223分支

或者初次关联远程仓库用

 git push -u origin pre-master-1223 

将会关联到远程的pre-master-1223r 分支上,以后就可以git push不指定参数了
使用git branch -a查看所有分支,会看到pre-master-1223这个远程分支,说明新建远程分支成功。

4、删除远程分支

$ git push origin --delete pre-master-1223

再次使用命令 git branch -a 可以发现,远程分支pre-master-1223已经被删除。

5、回滚到指定的版本

git reset --hard e377f60e28c8b84158(版本号)

6、强制推送到远程分支

强制提交,将本地回滚的代码推送到远程仓库,这里需要加强制的选项 -f--force

git push -f origin pre-master

在这里要说明下git push -f 表示强制将目前自己本机的代码库推送到远端,并覆盖;此命令需要跟团队成员协商,慎重使用!

补充:

删除本地分支

git branch -D 分支名

撤销git merge某分支到目标分支上的所有合并代码(未push)

此时只需要改本地分支上的提交就行了

方式1: git reset --hard 版本号

方式2: git revert
Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐