鉴于我有两个分支dev
和master
我在dev
上进行大多数开发,然后与master
合并到--no-ff
。
因为我使用了--no-ff
,所以在master
上创建了一个新的提交(我们称之为提交A)。
在继续在dev
上进行开发之前,我应该将A快速提交到我的dev
分支上吗?
将提交A放入我的dev
有什么好处?将提交A放入dev
分支是否是反模式?
答案 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
,稍后再发。
如果您允许dev
在master
重新加入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
无论您在提交中观察到哪种针迹花样,它什么都不会告诉您。