cherry-pick 时遇到冲突,怎么保留我本地的修改?

极客丽君 阅读 3

我在用 git cherry-pick 拉取某个 commit 的时候,提示和我当前分支有冲突。但我其实已经改过这些文件了,不想被覆盖,只想保留我本地的版本,该怎么做?

比如我本地改了一个按钮的样式,cherry-pick 的 commit 也改了同一个按钮:

<button class="btn btn-primary">
  <span>提交订单</span>
</button>

现在 git 让我手动解决冲突,但我不想合并对方的改动,直接用我自己的就行,有办法跳过或者自动保留本地吗?

我来解答 赞 0 收藏
二维码
手机扫码查看
1 条解答
雨妍(打工版)
遇到这种冲突,最简单的方法是直接选择保留你本地的修改。Git提供了几种方法来处理这种情况。

在冲突发生后,你可以用git命令告诉它只接受我们这边的改动。进入冲突文件的目录后,运行以下命令:

git checkout --ours path/to/conflicted-file.html


这里的 --ours 参数表示使用当前分支(也就是你的本地版本)的内容。这会自动解决冲突并保留你本地的修改。

如果你想对整个cherry-pick操作都这样处理,也可以在开始cherry-pick时加上-X参数:

git cherry-pick -X ours 


不过要注意,这样做确实会丢弃掉要cherry-pick过来的那些改动。如果这些改动对你来说完全不需要,那倒是省事了。但如果有其他不冲突的部分是你想要的,可能还得仔细检查下效果。

作为后端开发,平时遇到这种前端样式冲突其实不多,但处理起来思路是一样的:明确你要保留哪边的改动就行。毕竟代码合并最终还是得看业务需求,不是吗?
点赞
2026-03-29 23:06