push了还想回滚

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完了之后,想回滚是不可能的,只能覆盖提交.

参考:http://hw1287789687.iteye.com/blog/2311824

git push错了分支,要求回滚已经push成功的:http://hw1287789687.iteye.com/blog/2305708

猜你喜欢

转载自hw1287789687.iteye.com/blog/2322765