全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📅 2026-05-11 6 分钟 ✍️ juanwangdev

Fast-Forward 合并

Fast-Forward(快进合并)是 Git 的默认合并策略,适用于目标分支无新提交的情况。

什么是快进合并

当目标分支没有新的提交时,Git 直接将目标分支指针移动到源分支位置,无需创建合并提交。

合并过程

Bash
合并前:
main:    A → B → C
                   ↑
feature: A → B → C → D → E

合并后(快进):
main:    A → B → C → D → E
                       ↑
feature: A → B → C → D → E

快进合并示例

Bash
# 在 main 分支合并 feature
git checkout main
git merge feature

# 输出
Updating a1b2c3..e4f5g6
Fast-forward
 src/main.go | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

快进合并条件

条件说明
目标分支无新提交合并点之后无任何提交
无冲突两分支修改不同文件或同一文件不同位置
线性历史分支从目标分支分出后未分叉

快进合并特点

优点缺点
无合并提交,历史简洁丢失分支信息
合并速度快无法追溯分支历史
无需处理冲突看不出分支的存在

控制快进合并

Bash
# 允许快进合并(默认)
git merge feature

# 禁止快进,创建合并提交
git merge --no-ff feature

# 只允许快进合并(不允许普通合并)
git merge --ff-only feature

快进 vs 普通合并

text
# 快进合并历史
A → B → C → D → E
(看不到 feature 分支的存在)

# 普通合并历史(--no-ff)
A → B → C → M
       D → E
(保留了分支结构)

功能分支合并建议用 --no-ff,保留分支历史便于追溯。

要点总结

  1. 快进合适合目标分支无新提交的情况
  2. 直接移动指针,不创建合并提交
  3. 历史简洁但丢失分支信息
  4. --no-ff 禁止快进,保留分支历史
  5. --ff-only 只允许快进合并

📝 发现内容有误?点击此处直接编辑

← 上一篇 识别冲突文件
下一篇 → Git 分支完全指南:从入门到精通
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库