合并两个分支以创建新分支

时间:2013-01-08 10:31:28

标签: git version-control

我们有几个分支......

  • master是我们的开发分支。
  • feature-newfeature是一项新功能。
  • feature-tempfeature是我们的产品团队在创建新功能之前要求的新功能。 feature-newfeature刚刚启动,尚未合并到master(但master已进行了其他更改)。

我们现在已被指示将此临时功能放在其中需要master的所有更改 - 所以它是可释放的构建 - 但还需要我们在{{1}中一直在处理的一些内容(因为他们说“你可以重复使用你已经完成的一些东西”)。

这样做最好怎么办?我已从newfeature分支创建了feature-tempfeaturemaster尚未完成,我不想将其合并为主。

我不想只使用feature-newfeature,因为我们希望能够继续并行处理。

您如何在开发环境中解决此问题?

非常感谢!

2 个答案:

答案 0 :(得分:18)

分支只是特定提交的别名。因此,您可以拥有多个实际指向同一提交的分支。因此,您可以做的是创建一个新的分支newBranch,指向与master相同的提交,然后将feature-tempfeature合并到newBranch。除了主人保持不变之外,效果与合并到主人的效果相同。

答案 1 :(得分:3)

根据我的理解,你的情景是:

---master----
\___tempf____
\___newf_____

您的问题:您需要tempf更改master以及newf所以

<强>解决方案:

1)使用tempf

将未保存的更改存储在$ git stash

2)使用tempf合并master并将newf与tempf合并以更改master和newf

3)使用$ git stash pop

隐藏更改

正如@MaxLeske所说,分支只是别名,它们就像提交指针一样,但不是提交本身。