合并到其他分支后是否应该快进分支

时间:2019-06-18 22:37:40

标签: git

鉴于我有两个分支devmaster

我在dev上进行大多数开发,然后与master合并到--no-ff

因为我使用了--no-ff,所以在master上创建了一个新的提交(我们称之为提交A)。

在继续在dev上进行开发之前,我应该将A快速提交到我的dev分支上吗?

将提交A放入我的dev有什么好处?将提交A放入dev分支是否是反模式?

1 个答案:

答案 0 :(得分:1)

既没有任何实际成本,也没有任何实际收益。

请记住,分支名称主要是ephemeral,并且无论如何肯定会随着时间的推移而发展。如果您将两个名称保留很长时间(一个名为master的名称,您可能会保留),那么在将来的某个时候,您会看到这种提交方式:

(time increasing towards the right)

o--o---------M-----N   <-- master
    \       /     /
     o--o--o--o--o   <-- dev

在第一种情况下,您git merge --no-ff dev进入master以在某个时间T创建合并M,然后再次git merge创建合并N,稍后再发。

(OP notes that this first pattern might be something desirable in a release branch, e.g., one named production where the name on the lower row is master.)

如果您允许devmaster重新加入M,您将得到:

o--o---------M------N   <-- master
    \       / \    /
     o--o--o   o--o   <-- dev

这更好吗?更糟吗?你会在意吗?

如果您拿走 dev名称,而使用feature名称,您可能会看到:

o--o---------M------N   <-- master
    \       / \    /
     o--o--o   o--o

其中底行的第一个气泡为临时名称feature/foo,第二个气泡为临时名称feature/zorg

再次,真正的问题将是:您在乎吗?唯一永久的是提交本身。使提交消息良好-默认的merge ...消息有点糟糕,但至少类似于:

merge branch feature/foo

和:

merge branch feature/zorg

提供 some 关于这是什么的线索。比较:

merge branch dev

无论您在提交中观察到哪种针迹花样,它什么都不会告诉您。