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) |