git push错了分支,要求回滚已经push成功的

昨天push时push错了分支

先简单说下情况:

我们测试分支和上线分支都是master

刚提交了一个功能,准备今天上线的.

接着开发下一个功能A,commit 到了本地的master分支,准备push到新分支的



 但是忘了修改push的分支,结果把功能A 的代码push到了master分支,

突然想到master分支明天是要上线的,就着急了.

因为功能A 是我刚提交的代码,是没有通过测试的,但是现在已经在master分支了.

明天上线会从master分支拉代码,这样就会把未通过测试的功能A 上线--这是绝对不允许的.

怎么办呢?

肯定是回滚?关键是怎么回滚?

注意:我不仅commit了,我还已经push了!!!



 

所以需要revert 4次,注意revert的顺序:

 

步骤:

(a)依次执行:

git revert 5e84de1d6be4c317acdd60564cb16ffca10a7850

由上到下revert:

 

(b)git commit

(c)git push

如何获取版本号:

 

 这是一次惨痛的教训

最佳实践:

每次开发新的功能时,从本地分支checkout 一个新的本地分支B

新功能就在分支B 上面开发,然后push到新的远程分支B ,

新功能开发完成之后,merge 分支B 到本地master分支

猜你喜欢

转载自hw1287789687.iteye.com/blog/2305708
今日推荐