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

时间:2011-11-16 03:25:35

标签: git rebase git-rebase

我有分支冲突,branch2从branch1分支。

让我们说当在当前branch2上重新定位branch1时,在解决冲突的同时,我决定采取一些(并非全部)的“他们的”(即{{1} })文件原样。 我该怎么做?

我试过了:

branch1

2 个答案:

答案 0 :(得分:439)

您想使用:

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

如果您针对feature_x(即在分支master上运行git rebase master)重新定位分支feature_x,则在变基期ours引用master }和theirsfeature_x

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

  

请注意,rebase合并的工作原理是重播每个提交   在分支顶部的工作分支。正因为如此,何时   合并冲突发生,报告为我们的一方是迄今为止   重新开始的系列,从< upstream>开始,他们的工作正在进行中   科。换句话说,双方交换。

有关详细信息read this thread

答案 1 :(得分:0)

如果您想从另一个分支中提取特定文件,请执行

git checkout branch1 -- filenamefoo.txt

这会将文件的一个版本从一个分支拉到当前树