一、前言
由于线上功能要回退,所以只能无奈的回滚代码了。下面是回滚代码的详细记录,以作参考
二、具体步骤
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 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 表示强制将目前自己本机的代码库推送到远端,并覆盖;此命令需要跟团队成员协商,慎重使用!