使用 git 时,在某个分支进行重构,和 master 分支差异过大,如何合并?
背景:假设从 master 1.0 版本新建分支重构代码,新分支叫 v2。 重构过程中,master 1.0 不断有新的修改或 bug 修复合并。等到 v2 开发完成时,两个分支之间差异太多,冲突也很多。
这样的场景下,如何处理才能比较好的发布 master 2.0?
实践中,当重构代码时,如何操作才能比较好的避免大量冲突的出现?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
你好,如何处理合并时的冲出,没有什么简单方式,可能就得相应业务人员逐条处理了。
就重构的方式有些异议,重构过程中master有bug处理、功能发布。v2为什么不及时合并呢?
若master 1每次正式发布,master 2都能及时合并,冲突了量就会减少了吧!
我们也遇到类似问题.
比如有一个稳定版本stable,下面有个目录是fs
然后以一个开发分支develop,下面有个目录是fsv2
新版本都是在develop上开发,并且fs目录也已经废弃,相关fs的代码都在fsv2目录下修改了.
这个时候出现一个需要立刻做hotfix的问题,hotfix是在stable的fs上做的,那develop的fsv2目录怎么才能把这个修改merge进去呢,我们是在每次hotfix的时候主动对develop分支进行backport,把新的patch在新分支上实现一次.
对于hotfix是这样,对于大的feature的开发,相对而言stable一般是不需要了,如果两边都需要做,那最好就是放在一个公共的目录下,做成较为通用的模块之后进行merge.
这是我自己的经验,可能比较落后,还请大家指教.
一般而言,如果重构的部分在master 1.0没有被修改当然不会出现问题。
如果重构的部分还有新的修改,那么进行这两项任务的人员必须沟通好,否则在merge时肯定出现问题。
不过通常情况下,不需要一边重构,又一边修改同一部分代码吧。真要这么做,两项任务也不需要完全同步进行,可以重构一天,修改一天,反复合并分支。