小编典典

如何在冲突的 Git rebase 中获得“他们的”更改?

all

我有冲突的分支,feature_xmain.

假设在feature_x基于 current进行 rebase 时main,在解决冲突时,我决定按原样获取 一些
(不是全部)“他们的”(即main)文件。我怎么做?

我试过了:

git checkout main:foo/bar.java
fatal: reference is not a tree: TS-modules-tmp:foo/bar.java

git checkout refs/heads/main:foo/bar.java
fatal: reference is not a tree: refs/heads/TS-modules-tmp:foo/bar.java

阅读 119

收藏
2022-03-24

共1个答案

小编典典

你想使用:

git checkout --ours foo/bar.java
git add foo/bar.java

如果你对一个分支feature_x进行变基main(即git rebase main在分支上运行feature_x),变基期间ours指的是main和。theirs``feature_x

正如git-rebase 文档中指出的那样:

请注意,rebase 合并的工作原理是从分支顶部的工作分支重放每个提交。正因为如此,当发生合并冲突时,报告为我们的一方是到目前为止的 rebase
系列,从 开始,他们的一方是工作分支。换句话说,双方交换了。

有关更多详细信息,请阅读此线程

2022-03-24