处理彼此依赖的多个git分支

时间:2016-09-18 07:57:05

标签: git github git-branch

我在Git上维护一个项目的4个分支,其结构如下所示。

  • 学生
  • 教师
  • 验证

问题是我创建了#34;身份验证"分支最后一个并从该分支添加了一些代码。现在,我转到了#34;老师"分支继续努力。但是,我需要在"身份验证"中添加一些功能。模块工作"老师"模块。但我还没有完成"身份验证"模块进行合并。用git处理这个问题的正确方法是什么?感谢。

2 个答案:

答案 0 :(得分:6)

听起来你的分支相互依赖,这会给你带来麻烦。分支机构的依赖性可能是由于分支越来越大,包含的东西越来越多。

这意味着您可以通过更早地合并较小的东西而受益!但是看起来您不希望在“完成”之前将teacherstudent合并为主。

听起来像你需要一个可以合并完成的工作但尚未准备好发布的地方

如果你认为master是一个只有完成功能的分支,也许你需要另一个名为develop的分支,它允许没有整个功能,但是合并了较小的步骤? / p>

然后你可以这样做:

  • 执行与teacher相关的一些功能,将它们合并到develop
  • student相关功能启动一个新分支,合并它们以进行开发
  • 重复此操作直到develop看起来像你可以发布的内容
  • develop合并到master并添加标签新版本

这意味着无论您在teacher工作期间做了哪些系统改进,在student工作期间,您也可以快速获得这些改进。这同样适用于身份验证等其他功能。

  

请勿让您的功能分支保持未开发状态超过几天   未合并的工作是浪费!

更多阅读:A successful Git branching model

答案 1 :(得分:1)

这通常是在等待慢代码审查时发生的,而您的新更改堆积在可管理的小型分支机构中的顶端,也要进行审查。一旦您深入到7层并在链的底部进行了更改,那么进行最新更新将非常耗时...

因此我创建了此脚本,该脚本可以为您完成合并! (由于错误或合并冲突而停止) https://gist.github.com/brennemankyle/6770781bc43c8d2b03988c4c89867871