12

我对使用 git 比较陌生。

最近从 master 我们分支了 +-10 个功能分支。让我们称它们为 A、B、C 等。

我想将这些合并在一起进行测试。如果我创建一个新分支并合并我的功能可以吗?

例如

[master] git checkout -b integration

[integration] git merge A

[integration] git merge B

[integration] etc

一旦所有功能都经过测试和批准,是否可以安全地合并integration到 master 中,并在 master 日志中维护功能分支历史

例如

[integration] git checkout master
[master] git merge integration
[master] git branch -d integration

谢谢

4

2 回答 2

10

简短的回答:是的。

长答案:是的,并且假设您的 master 分支在此期间没有进行任何更改,您与 master 的合并将是一个“快进”合并,因此在 之后[master] git merge integration,master 分支将看起来像合并之前的集成分支。

“分支历史”将出现在主分支中。恕我直言,最好不要将您的历史视为“分支历史”,而是“代码历史”。

如果您想记录更改来自合并的事实,请使用git merge --no-ff强制创建合并提交,即使快进提交(尽可能保持历史线性)有效。

另请参阅共享功能分支的正确 Git 工作流程?

于 2013-02-25T14:07:53.653 回答
3

当然,那很好。

默认情况下(除非您压缩合并提交),您将保留每个功能的完整历史记录以及它们的集成历史记录,即使临时分支消失也是如此。

于 2013-02-25T14:05:56.520 回答