如何获得;他们的";相互冲突的Git ReBASE中间的变化?

如何获得;他们的";相互冲突的Git ReBASE中间的变化?,git,rebase,git-rebase,Git,Rebase,Git Rebase,我有冲突的分支,分支2从分支1分支 比如说,在当前branch1上重新设置branch2的基址时,在解决冲突的同时,我决定将部分(而不是全部)的“他们的”(即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 fata

我有冲突的分支,分支2从分支1分支

比如说,在当前
branch1
上重新设置
branch2
的基址时,在解决冲突的同时,我决定将部分(而不是全部)的“他们的”(即
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 branch1 -- filenamefoo.txt
这将把文件的一个版本从一个分支拉到当前树中,您要使用:

git checkout --ours foo/bar.java
git add foo/bar.java
如果您针对
main
重新设置分支
feature\ux
(即在分支
feature\ux
上运行
git rebase main
),在重新设置分支
期间,我们的
指的是
main
他们的
指的是
feature\ux

正如报告中指出的那样:

请注意,重新基础合并通过重放来自 分支顶部的工作分支。因为这个,什么时候? 发生合并冲突时,报告为我方的一方是目前为止 重新基调系列,从开始,他们的是工作 分支机构。换言之,双方是交换的


有关更多详细信息。

注意:如果要将branch2重设为branch1,则会相对于branch1进行重放,因此“他们的”实际上是branch2,“我们的”是branch1。你看,这只花了我大约20个小时的勤奋工作。我真的认为“我们的”永远是工作的副本。这可能是一个坏主意,在一个重新基地,因为它会拉文件从该分支的头,而不是在独立的头点,你会在一个矛盾的基础。state@Clintm,另一方面,这是一个通用的答案,您可以从任何地方提取文件<如前所述,代码>分支1不是一个特别好的主意。但是可以使用所需的提交id。我相信有一个很好的理由可以解释为什么合并和重基对“我们的”和“他们的”有相反的含义,但是一致性会好得多。因此,OPs问题中的
他们的
对应于实际命令中的
--我们的
。请注意,
--我们的
也相应(更直观地)解决冲突时与IDE中的“当前更改”相对应,而
--它们的
对应于“传入更改”