You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitLab已合并MR如何修改提交信息、拆分/合并提交?

GitLab合并MR后修改提交的操作方案

已合并MR的源分支修改后,原MR会自动更新吗?

不会。当MR处于“已合并”状态时,GitLab会将其标记为关闭,不会再监听对应源分支的后续变更来更新这个MR。

拆分已合并的提交并重新处理的具体步骤

针对你给出的分支状态:
源分支提交历史:

$ git log --oneline -n2
b6ddddddd commit message 1
b7ddddddd commit message 2

目标分支提交历史:

$ git log --oneline -n2
c6cccccac Merge branch `source` into `destination`
c7cccccbc MR Commit message

1. 回退目标分支到合并前状态

先切换到目标分支,重置到合并提交的前一个版本:

git checkout destination
git reset --hard c7cccccbc

2. 拆分源分支的提交

切换回源分支,用交互式变基拆分提交:

git checkout source
git rebase -i HEAD~2

在弹出的编辑界面中,把要拆分的提交前面的pick改为edit,保存退出后执行:

git reset HEAD^

然后分阶段提交拆分后的内容:

git add <部分文件>
git commit -m "拆分后的第一个提交信息"
git add <剩余文件>
git commit -m "拆分后的第二个提交信息"
git rebase --continue

3. 强制推送修改后的源分支

git push --force-with-lease source

注意:强制推送会覆盖远程分支历史,若有其他协作者在该分支工作,务必提前沟通。

4. 重新处理合并

有两种可选方式:

  • 重新打开原MR:在GitLab找到已合并的原MR,点击“重新打开”(部分版本支持),此时目标分支已回退,MR会自动更新差异,可再次合并。
  • 新建MR:直接基于修改后的源分支创建新MR合并到目标分支,这种方式更清晰,避免和已关闭的MR混淆。

内容的提问来源于stack exchange,提问作者k1r1t0

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 17:11:18