我有分支冲突,branch2从branch1分支。
让我们说当在当前branch2
上重新定位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
#1楼
你想用:
git checkout --ours foo/bar.java
git add foo/bar.java
如果你将一个分支feature_x
反对master
(即在分支feature_x
上运行git rebase master
),在git rebase master
期间ours
指的是master
和theirs
的feature_x
。
正如git-rebase文档中指出的那样:
请注意,rebase合并的工作原理是从分支顶部的工作分支重放每个提交。 因此,当合并冲突发生时,报告为我们的那一方是迄今为止重新定义的系列,从<upstream>开始,他们是工作分支。 换句话说,双方交换。
有关详细信息,请阅读此主题 。
#2楼
如果你想从另一个分支中提取特定文件,那就行了
git checkout branch1 -- filenamefoo.txt
这会将文件的一个版本从一个分支拉到当前树中
来源:oschina
链接:https://my.oschina.net/u/3797416/blog/3193618