Git 合并允许我们执行快进和没有快进分支合并。任何想法何时使用快进合并以及何时不使用快进合并?
--no-ff当您想要清楚地了解您的功能分支时,该选项很有用。因此,即使同时没有提交,FF 也是可能的——有时你仍然希望主线中的每个提交都对应一个特性。因此,您将具有一堆提交的功能分支视为一个单元,并将它们合并为一个单元。当您将功能分支与--no- ff.
--no-ff
--no- ff
如果你不关心这样的事情——你可能会尽可能地摆脱 FF。因此,您将有更多类似 svn 的工作流程感觉。
例如,这篇文章的作者认为--no- ff选项应该是默认的,他的推理接近我上面概述的:
考虑“功能”分支上的一系列次要提交共同构成一个新功能的情况:如果您只执行“git merge feature_branch”而没有--no-ff,“从 Git 历史记录中不可能看到哪些提交对象一起具有实现了一个特性——你必须手动读取所有日志消息。恢复整个特性(即一组提交),是一个真正令人头疼的[如果--no- ff不使用],而如果使用了--no-ff标志则很容易做到[因为这只是一次提交]。”