13

我们有几家分店...

  • master是我们的开发分支。
  • feature-newfeature是一项新功能。
  • feature-tempfeature是我们的产品团队在创建新功能之前要求的新功能。feature-newfeature是不久前开始的,尚未合并master(但还有其他更改master)。

我们现在被指示放置这个临时功能,其中需要所有更改master- 所以它是一个可发布的构建 - 但也需要我们一直在研究的一些东西newfeature(正如他们所说“你可以重用一些东西你已经完成了”)。

这样做最好怎么做?我是feature-tempfeaturemaster分支创建的。feature-newfeature还没有完成,我不想将它合并到master中。

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

你会如何在你的开发环境中解决这个问题?

非常感谢!

4

2 回答 2

22

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

于 2013-01-08T10:36:54.457 回答
4

From my understanding your scenario is:

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

Your problem: You need tempf with changes of master as well as newf so

Solution:

1) Stash your unsaved changes in tempf with $ git stash

2) Merge master with tempf and merge newf with tempf to have the changes of the both master and newf

3) Stash pop your changes with $ git stash pop

And as @MaxLeske said, branches are just aliases, they serve just like pointer to a commit but are not the commits themselves.

于 2013-01-08T10:47:13.923 回答