【发布时间】:2013-12-05 09:14:08
【问题描述】:
我的公司有一个如下所示的 Git 工作流程:
- 从原始分支创建功能分支(我们使用名为“develop”的基本分支,但您可以将其视为“master”)
- 在此功能分支中完成您需要做的工作,并提交您的更改
- 有时,将您的功能分支重新设置为开发分支
- 功能分支中的工作完成后,提交并推送到 GitHub 上的远程功能分支
- 创建拉取请求以将您的功能分支合并到开发分支中,由其他开发人员审核代码
- 一旦代码审查完成,特性分支合并到开发分支,特性分支被删除
当您处理串行工作流时,这很有效,但是当您从功能分支推送更改并等待其他开发人员审查和合并您的更改时,您可能希望承担另一部分工作,这意味着重复上述过程。
在我们的例子中,我们目前正在从开发分支创建我们的功能分支,因此我刚刚完成的工作尚不可用(它仍处于不确定状态,等待其他开发人员将其合并到开发分支中)。我的问题是,如果我在 new 功能分支中所做的工作取决于我刚刚在之前的功能分支中完成的工作怎么办?我应该最初从我尚未合并的功能分支而不是开发分支中分支我的新功能分支吗?如果我已经从开发分支创建了我的新功能分支,是否可以像在我的新分支中执行 git merge [unmerged-branch] 一样简单地从未合并的分支中获取我缺少的更改?
希望这个解释 - 以及工作流程本身! - 说得通。我让自己陷入了一些奇怪的情况,我不清楚我的代码状态,所以我试图找出一个工作流程,让我能够灵活地合并来自其他功能分支的更改,同时仍然可以随时获取上游更改时间。
【问题讨论】:
-
从开发分支并合并未批准的功能分支实际上与从功能分支分支相同。
-
你已经解释得很完美了。我不想等待代码审查才能开始使用下一个功能。