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

Git合并冲突模拟失败求助:如何无需Pull Request演示合并冲突

如何正确模拟Git合并冲突并修正你的操作问题

你操作里的核心错误

你在步骤6执行的git merge origin/Branch1完全偏离了目标:

  • 你已经切换到本地的Branch1分支,此时合并远程的origin/Branch1(本质是同一个分支的远程镜像),Git检测到两者内容完全同步,自然会提示Already up to date——这根本不会触发任何合并操作,更别说冲突了。
  • 要触发合并冲突,核心是要合并两个修改了同一文件相同位置的不同分支,而不是同一个分支的本地与远程版本。

无需Pull Request的本地合并冲突模拟方法

完全可以在本地仓库完成模拟,不需要推送到远程,也不用创建Pull Request,步骤如下:

  1. 先确保你的本地develop分支处于干净状态(执行git status确认没有未提交的变更)
  2. 从develop创建并切换到Branch1:
    git checkout -b Branch1 develop
    
  3. 切回develop分支,创建并切换到Branch2:
    git checkout develop
    git checkout -b Branch2 develop
    
  4. 在Branch1上修改一个共同文件(比如README.md)的同一行内容,例如将第一行改为:Branch1: 这是分支1的修改,然后提交变更:
    git add README.md
    git commit -m "Branch1: 修改README内容"
    
  5. 切换到Branch2,修改同一文件的同一行内容,例如改为:Branch2: 这是分支2的修改,然后提交变更:
    git checkout Branch2
    git add README.md
    git commit -m "Branch2: 修改README内容"
    
  6. 现在切换到Branch1,执行合并Branch2的操作:
    git checkout Branch1
    git merge Branch2
    
    此时Git会立刻提示合并冲突,告诉你哪个文件存在冲突,你就能看到预期的冲突场景了!

额外技巧:模拟与develop分支的冲突

如果想模拟分支与develop的冲突,也可以这么操作:

  • 在Branch1修改文件并提交后,切回develop分支,修改同一文件的同一位置并提交
  • 再切回Branch1执行git merge develop,同样会触发合并冲突

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 20:13:12