如何在冲突的Git rebase中获得“他们”的变化?
我有冲突的分支,从branch1分支branch2。
比方说,在branch1
当前branch1
上的branch2
时,我决定按branch1
取出一些 (不是全部)“他们的”(即branch1
)文件。 我怎么做?
我试过了:
git checkout branch1:foo/bar.java fatal: reference is not a tree: TS-modules-tmp:foo/bar.java git checkout refs/heads/branch1:foo/bar.java fatal: reference is not a tree: refs/heads/TS-modules-tmp:foo/bar.java
你想使用:
git checkout --ours foo/bar.java git add foo/bar.java
如果您在主设备上重新设置分支feature_x,则在重新绑定期间, ours
引用master和theirs
的feature_x。
正如git-rebase文档中指出的那样:
请注意,通过重新分配分支上的工作分支提交每个提交,分配合并工作。 正因为如此,当发生合并冲突时,报告为我们的方是迄今为止的重组系列,从<上游>开始,他们是工作分支。 换句话说,双方交换。
有关更多细节,请阅读此主题 。
如果你想从另一个分支拉一个特定的文件只是做
git checkout branch1 -- filenamefoo.txt
这将把文件的一个版本从一个分支拉到当前的树中