git回滚到指定版本,并推到送远程仓库

  • A+
所属分类:GIT

1. 前言

有些时候我们提交的远程代码(最新的代码)也许还不如上次写的好,于是我们就想回退到以前的版本。那么怎么回退呢
对了,回退之前还是先备份下。。

2. 版本回退

  1. git log //查看提交的历史
  2. git log --pretty=oneline //如果嫌上面的输出信息过多可以使用这条(只输出版本号)
  3. git reset --hard HEAD^ //回到上个版本,git reset --hard HEAD^^是上上个版本

好了现在你已经回到上个版本了

3. 提交到远程仓库

接下来如果你直接提交会发现提交不了, 说远端做了更改需要先pull一下, 如果pull那就又回到最新版本了,相当于没回退。
思路:我们可以新建一个分支temp,然后把回退后的代码提交到temp分支上暂存,然后删除master主分支,新建一个master分支,提交现有代码到master上。

  1. /*1.新建分支*/
  2. git checkout -b temp              //新建分支并切换到temp分支
  3. git push origin temp:temp         //将代码push到temp分支
  4. /*2.删除主分支*/
  5. git push origin --delete master   //删除远端主分支 这一步需要去github修改默认主分支,见下方图
  6. git branch -d master              //删除本地主分支
  7. /*3.新建主分支*/
  8. git checkout -b master            //新建主分支并切换到主分支
  9. git push origin master            //提交主分支
  10. /*4.删除暂存分支*/
  11. git branch -d temp
  12. git push origin --delete temp

注意:在github下,操作(删除或重建分支)需要在github网页上切换当前分支,如你要删除master,就要将分支切换到建的temp分支上。(可以理解为自己不能删除自己)
(项目主页->Settings即可看到)
git回滚到指定版本,并推到送远程仓库

参考链接:

廖雪峰的官方网站-git版本回退
       解决git提交敏感信息(回退git版本库到某一个commit)

weinxin
我的微信
这是我的微信扫一扫
kiven

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: