首页/开发/Git 与协作速查/git merge --ff-only 只允许快进
合并变基与冲突71 条

git merge --ff-only 只允许快进

当无法快进时直接失败退出,用于保持线性历史或校验「本地分支确实落后于远端」:能快进说明本地没有分叉提交。

Git 与协作速查开发更新于 2026-10-12
用途拒绝产生合并提交,保证线性推进
语法git merge --ff-only <分支>
典型场景主干同步、发布前校验

常用示例

常用示例
git switch main
git merge --ff-only origin/main
git config --global pull.ff only
本地 main 已经分叉(既有本地提交又有远端新提交)时 --ff-only 会报 fatal: Not possible to fast-forward;此时应先决定 rebase 还是 merge。

易错点

  • 把 pull.ff 设为 only 后,习惯性 git pull 在分叉时会失败,需要显式 merge 或 rebase 而不是反复拉取
  • 本地存在未推送提交时不要用 --ff-only 硬凑:先确认这些提交是否需要保留或变基

数据来源与参考

  • Git 官方文档:git-merge(--ff-only)
  • Git 官方文档:git-config(pull.ff)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌