在使用 git merge 命令进行分支合并时,通常会使用默认的 fast-forward 合并策略。但有时候,我们需要禁用 fast-forward 合并,以保留提交历史记录。
要禁用 fast-forward 合并,可以使用 git merge --no-ff 命令或 git merge --no-fast-forward 命令。其中,--no-ff 和 --no-fast-forward 参数都表示禁用 fast-forward 合并。
如果要在合并时同时创建一个新的合并提交,可以使用 --no-commit 参数。这样可以在合并完成后再手动编辑合并提交。
以下是使用 git merge --no-ff 命令进行禁用 fast-forward 合并的示例:
git checkout master    # 切换到主分支
git merge --no-ff dev  # 合并 dev 分支到主分支,禁用 fast-forward 合并
需要注意的是,禁用 fast-forward 合并可能会增加提交历史记录,因此应该谨慎使用。