我在Git上维护一个项目的4个分支,其结构如下所示。
问题是我创建了#34;身份验证"分支最后一个并从该分支添加了一些代码。现在,我转到了#34;老师"分支继续努力。但是,我需要在"身份验证"中添加一些功能。模块工作"老师"模块。但我还没有完成"身份验证"模块进行合并。用git处理这个问题的正确方法是什么?感谢。
答案 0 :(得分:6)
听起来你的分支相互依赖,这会给你带来麻烦。分支机构的依赖性可能是由于分支越来越大,包含的东西越来越多。
这意味着您可以通过更早地合并较小的东西而受益!但是看起来您不希望在“完成”之前将teacher
或student
合并为主。
听起来像你需要一个可以合并完成的工作但尚未准备好发布的地方。
如果你认为master
是一个只有完成功能的分支,也许你需要另一个名为develop
的分支,它允许没有整个功能,但是合并了较小的步骤? / p>
然后你可以这样做:
teacher
相关的一些功能,将它们合并到develop
student
相关功能启动一个新分支,合并它们以进行开发develop
看起来像你可以发布的内容develop
合并到master
并添加标签新版本这意味着无论您在teacher
工作期间做了哪些系统改进,在student
工作期间,您也可以快速获得这些改进。这同样适用于身份验证等其他功能。
请勿让您的功能分支保持未开发状态超过几天 未合并的工作是浪费!
答案 1 :(得分:1)
这通常是在等待慢代码审查时发生的,而您的新更改堆积在可管理的小型分支机构中的顶端,也要进行审查。一旦您深入到7层并在链的底部进行了更改,那么进行最新更新将非常耗时...
因此我创建了此脚本,该脚本可以为您完成合并! (由于错误或合并冲突而停止) https://gist.github.com/brennemankyle/6770781bc43c8d2b03988c4c89867871