Pycharm——2种方式快速回滚指定版本代码
工作中,因为各种原因,难免会遇到代码回滚。本文记录2种快速回滚代码的方式,以python项目为例 [Pycharm集成环境]:
- Pycharm中进行代码回滚、分支切换
- Git命令进行代码回滚、分支切换
个人总结些笔记,担心以后上年纪记不得又懒得找😄😄😄。
假设项目已建成,并已push到Github或者Gitlab中【如果不会,请戳一下MAC上Git安装与GitHub基本使用】。一般地,公司里的项目代码是多人维护,经常出现多个分支,如:
- master
- 分支1
- 分支2
- 分支3
- ……
大家同步开发各自的功能或者修复bug,然后合并代码到master,再进行联调、测试、打包、部署、上线等等一系列操作。
背景:假设小明,小花,小王三人一起开发。结果测试发现小王开发的代码存在问题,且迟迟难以修复,担心延期,评审决定本期不上他这部分代码,小明小花的代码需要正常上线。
但是测试的时候已经将3人的代码合并到一起了,怎么短时间回滚到上个有效master分支,快速开发,重新合并?
为了详细说明,先在本地新建一个简单的项目,代码来自于个人以前的一篇博客:Python——循环遍历多个列表实现字符的组合拼接。
Github中的效果:
1、Pycharm中进行代码回滚、分支切换
假设我要回滚到初次上传到Github的那个分支,操作如下:
(1)master分支(或其他主分支) ---> Version Control ---> log ---> 找到想要回滚的版本或者分支【如Intial commit】
(2)Reset Current Branch to Here ---> Hard ---> Reset
(3)master分支 ---> New Branch ---> 新分支的名字
(4)master分支还原【切换到master分支 ---> Version Control ---> log ---> 找到最新的版本,同样的方法再次回滚】,目的:防止日子久了,自己不小心把旧代码push上去从而覆盖掉了别人的代码。
(5)接下来,在刚建立的hotfix分支上进行代码开发与本地自测等操作。
2、Git命令进行代码回滚、分支切换
老司机习惯了敲命令行,直接5行git命令解决的事情,ta不香吗?
切换到master分支后(如果非master分支,输入git checkout master),直接上命令:
git log --pretty=oneline # 查看当前分支的历史commit
git reset --hard commit_id1 # hard方式重置代码到commit_id1时的代码
git branch zhangwei # 建立zhangwei分支
git reset --hard commit_id2 # hard方式重置代码到commit_id2时的代码
git checkout zhangwei # 切换到zhangwei分支
回车确认后,即回滚到初次提交的代码。
新建分支zhangwei