小编典典

Git快进VS没有快进合并

all

Git 合并允许我们执行快进和没有快进分支合并。任何想法何时使用快进合并以及何时不使用快进合并?


阅读 71

收藏
2022-04-13

共1个答案

小编典典

--no-ff当您想要清楚地了解您的功能分支时,该选项很有用。因此,即使同时没有提交,FF
也是可能的——有时你仍然希望主线中的每个提交都对应一个特性。因此,您将具有一堆提交的功能分支视为一个单元,并将它们合并为一个单元。当您将功能分支与--no- ff.

如果你不关心这样的事情——你可能会尽可能地摆脱 FF。因此,您将有更多类似 svn 的工作流程感觉。

例如,这篇文章的作者认为--no- ff选项应该是默认的,他的推理接近我上面概述的:

考虑“功能”分支上的一系列次要提交共同构成一个新功能的情况:如果您只执行“git merge feature_branch”而没有--no-ff,“从
Git
历史记录中不可能看到哪些提交对象一起具有实现了一个特性——你必须手动读取所有日志消息。恢复整个特性(即一组提交),是一个真正令人头疼的[如果--no- ff不使用],而如果使用了--no-ff标志则很容易做到[因为这只是一次提交]。”

图形显示了 --no-ff
如何将功能分支中的所有提交组合到主分支上的一个提交中

2022-04-13