我在dev
上做了大部分开发,然后用--no-ff
合并到master
。
因为我使用了--no-ff
,所以在master
上创建了一个新的提交(让我们称之为提交A)。
在继续在dev
上开发之前,我应该在dev
分支上快进提交A吗
将commit A引入我的dev
有什么好处吗?将这个提交A带到dev
分支上会不会是反模式?
发布于 2019-06-19 06:47:35
既没有任何实际的成本,也没有任何实际的好处。
请记住,分支名称很大程度上是ephemeral,并且在任何情况下都会随着时间的推移而演变。如果您保留这两个名称很长时间-名为master
的名称,您可能会保留-然后在未来的某个时候,您将看到这种提交模式:
(time increasing towards the right)
o--o---------M-----N <-- master
\ / /
o--o--o--o--o <-- dev
对于第一种情况,您在某个时间T使用git merge --no-ff
dev
到master
中以创建合并M
,然后在稍后的某个时间再次使用git merge
以创建合并N
。
如果您允许dev
在M
重新加入master
,您将得到:
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
提供一些关于这是关于什么的线索。请比较:
merge branch dev
这根本不会告诉你任何事情,不管你在提交中观察到的是哪种针脚模式。
https://stackoverflow.com/questions/56657893
复制相似问题