push了还想回滚
时间:2019-02-01 16:42 来源:未知 作者:IT
push了还想回滚怎么办?
场景:刚上完线,于是把新开发的功能push到了master分支,
但是突然产品经理说要改个东西(改动很小),得马上上线.
可是我已经把未通过测试的代码push上去了.
思路:
(a)每次上线都会打tag,我直接找到那个tag,并以此为基准新建一个git分支
结果:并没有打tag
(b)在我本地使用 git reset 来回滚,然后push上去
结果:在我本地回滚没有用,pull时还是会把之前提交的拉回来.
解决方案:
步骤一:
在我本地把修改未commit的都还原,
保证代码是最新的
步骤二:
执行 git reset
步骤三:
不要pull,马上push 到一个新的分支prod2
步骤四:
从步骤三创建的远程分支prod2 checkout出本地分支prod3
步骤五:
在本地分支prod3上修改并提交到prod2
步骤六:
上线时指定分支为prod2.
注意:push完了之后,想回滚是不可能的,只能覆盖提交. (责任编辑:IT)
push了还想回滚怎么办? 场景:刚上完线,于是把新开发的功能push到了master分支, 但是突然产品经理说要改个东西(改动很小),得马上上线. 可是我已经把未通过测试的代码push上去了. 思路: (a)每次上线都会打tag,我直接找到那个tag,并以此为基准新建一个git分支 结果:并没有打tag (b)在我本地使用 git reset 来回滚,然后push上去 结果:在我本地回滚没有用,pull时还是会把之前提交的拉回来. 解决方案: 步骤一: 在我本地把修改未commit的都还原, 保证代码是最新的 步骤二: 执行 git reset 步骤三: 不要pull,马上push 到一个新的分支prod2 步骤四: 从步骤三创建的远程分支prod2 checkout出本地分支prod3 步骤五: 在本地分支prod3上修改并提交到prod2 步骤六: 上线时指定分支为prod2. 注意:push完了之后,想回滚是不可能的,只能覆盖提交. (责任编辑:IT) |