昨天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分支
?
原文:http://hw1287789687.iteye.com/blog/2305708