.REMOTE和.Local结果相反

时间:2015-03-29 01:59:58

标签: git

我正在使用SourceTree来执行/管理我的文件提交,推送,拉取和合并。

我使用BeyondCompare作为外部合并/差异工具,并在选项中设置它。在管理其中一个合并冲突时,我启动了Bcomp;这会在文件名中显示以.LOCAL,.REMOTE和.MERGED结尾的3个窗格,其顺序与我在源树命令行中提到的顺序相同。

这是混乱和问题 -     我注意到.LOCAL文件具有.REMOTE和.REMOTE的内容具有我的本地更改,就像它试图以完全相反的方式理解它一样。根本就没有得到这个。我在Bcomp或SourceTree中的设置/配置是否导致内容相反?

我的理解是:

  • 本地:意思是我在本地进行了更改的文件,并且在拉动其他人时发生了冲突
  • 远程:在我之前被推送到主人的文件/内容是我正在拉动或合并的东西。

有时我会在合并文件中看到这个

<<<< HEAD
    ========== 
    >>>>> 

有人可以告诉我们什么时候能得到它,如果我使用像Bcomp这样的外部合并工具,它会不会发生。 GIT是否指出了这些内容,我们需要手动删除它并保存文件以避免编译错误

1 个答案:

答案 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之前的当前分支。