我正在使用SourceTree来执行/管理我的文件提交,推送,拉取和合并。
我使用BeyondCompare作为外部合并/差异工具,并在选项中设置它。在管理其中一个合并冲突时,我启动了Bcomp;这会在文件名中显示以.LOCAL,.REMOTE和.MERGED结尾的3个窗格,其顺序与我在源树命令行中提到的顺序相同。
这是混乱和问题 - 我注意到.LOCAL文件具有.REMOTE和.REMOTE的内容具有我的本地更改,就像它试图以完全相反的方式理解它一样。根本就没有得到这个。我在Bcomp或SourceTree中的设置/配置是否导致内容相反?
我的理解是:
有时我会在合并文件中看到这个
<<<< HEAD
==========
>>>>>
有人可以告诉我们什么时候能得到它,如果我使用像Bcomp这样的外部合并工具,它会不会发生。 GIT是否指出了这些内容,我们需要手动删除它并保存文件以避免编译错误
答案 0 :(得分:2)
参见“git rebase
, keeping track of 'local' and 'remote'”,其中我解释了一个rebase交换机ours
(在rebase启动之前的当前分支)和theirs
(你想要重新绑定的上游分支)。
在“torek”
中排除了What is the precise meaning of “ours
” and “theirs
” in git?
在rebase期间“
ours
”和“theirs
”概念被交换的原因是,rebase通过执行一系列樱桃选择而进入匿名分支(分离的HEAD模式)。
目标分支是匿名分支,merge-from分支是您的原始(pre-rebase)分支:
所以“--ours
”表示匿名的一个rebase正在构建,而“--theirs
”表示“我们的分支正在被重新命名”。
在这种情况下:
+--------------------------------+
| LOCAL | BASE | REMOTE |
+--------------------------------+
| MERGED |
+--------------------------------+
ours
”(上游分支)theirs
” - rebase之前的当前分支。