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

Git 非顺序Cherry-Pick提交:代码修改是否会被覆盖?

问题解答

两者的修改会合并保留。

原因很直接:Commit A和Commit B改动的是文件的不同区域,Git在执行cherry-pick操作时,会自动识别这两个提交的改动没有重叠冲突,因此会把两个提交的修改都完整应用到发布分支上,不会出现Commit B的修改被Commit A覆盖删除的情况。

举个直观的例子:
假设原文件内容是:

1. 初始文本行
2. 初始文本行
3. 初始文本行
  • Commit A把第2行改成「A修改后的内容」
  • Commit B把第3行改成「B修改后的内容」

先将Commit B cherry-pick到发布分支后,发布分支的第3行是B的修改;再cherry-pick Commit A时,Git会直接把第2行的改动加上,最终文件同时保留A和B的修改结果,不会互相覆盖。

只有当两个提交修改的是文件的同一区域(比如同一行或重叠的代码块)时,cherry-pick才会触发冲突,需要手动解决冲突后完成操作。

内容的提问来源于stack exchange,提问作者K. Ventura

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 14:05:20