1,已上线的代码出现bug,从master拉取新的分支解决bug后合并到master;
2,未上线的代码在测试阶段出现bug,可以直接在此次开发的分支上修复bug,然后合并到test分支;
3,test分支代码如果被合并到master,再revert回滚,再次合并到master就无法合并,因为代码和master一模一样,没有任何变更。为什么没有任何变更呢?因为test分支第一次合并到master之前的那些修改发生在revert之前,revert发生后抛弃了test第一次合并之前的修改,那么再次合并,git就认为你抛弃了第一次合并之前的所有修改。
4,git revert 和git reset区别:二者都是撤销合并和撤销提交,但是git revert 会创建一个新的版本,不会删除要撤销到的那个版本后面的版本,而reset会删除,回到目标版本。