【发布时间】:2011-01-30 19:31:57
【问题描述】:
我真的想不出什么时候我会使用git merge 而不是git rebase 并且不希望提交出现。有什么方法可以将 git 配置为默认关闭快速转发?有一个--ff 选项的事实似乎暗示有一种方法,但我似乎无法在文档中找到它。
【问题讨论】:
-
我一直使用
merge用于分支,当没有从远程提交任何提交以快速转发它们时。这似乎是最简单和最安全的方法。我很好奇,你显然有一个用例。为什么要在分支的一侧没有提交的情况下创建合并提交? -
我使用分支来创建提交的逻辑分组。因此,如果我进行合并,这基本上是一种说“这些提交一起”的方式。您几乎可以将其视为穷人的交互式 rebase 和 squash。 :-)
-
关闭快进非常有用,尤其是在关注A successful Git branching model这样的模型时
-
请将已接受的答案更改为 Eric Platon 的回答 stackoverflow.com/a/6810687/3408 - 我做了已接受答案中的步骤,然后意识到它仅适用于当前存储库中的主分支,这很愚蠢.
-
@jpmc26 我猜每个人都有自己的想法。我碰巧不同意那篇文章。找到合并提交的两个父节点并不难,它会告诉您确切的更改是什么。然后,您可以进行这些更改并“重新定位”其他分支。使用平面模型,您必须手动查找和挑选。我们选择拥抱分支。当然,查看整个树时会很复杂,但事实就是这样,多个变化同时发生。扁平化一切只是隐藏了真正发生的事情。
标签: git merge branch rebase fast-forward