【问题标题】:.REMOTE and .Local results are reversed.REMOTE 和 .Local 结果相反
【发布时间】:2015-06-02 04:55:49
【问题描述】:

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

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

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

我的理解是:

  • 本地:表示我已在本地进行更改并在拉取其他文件时遇到冲突的文件
  • 远程:文件/内容是否已被推送到我前面的主服务器,并且是我正在拉动或合并的东西。

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

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

谁能告诉我们什么时候得到它,如果我使用像 Bcomp 这样的外部合并工具,它会不会发生。 GIT放这些是为了表示什么吗,我们需要手动删除并保存文件以避免编译错误

【问题讨论】:

  • 如果您正在重新定位 LOCAL 和 REMOTE 并与您的预期相反。

标签: git


【解决方案1】:

参见“git rebase, keeping track of 'local' and 'remote'”,我在这里解释了一个变基开关ours(变基开始前的当前分支)和theirs(您要变基的上游分支)。

正如torek 在“What is the precise meaning of “ours” and “theirs” in git?”中解释的那样

ours”和“theirs”概念在变基期间交换的原因是变基通过执行一系列樱桃挑选工作,进入匿名分支(分离 HEAD 模式)。
目标分支是匿名分支,merge-from 分支是您的原始(预变基)分支:
所以“--ours”表示匿名的一个变基正在构建,而“--theirs”表示“我们的分支正在变基”。

在这种情况下:

+--------------------------------+
| LOCAL  |     BASE     | REMOTE |
+--------------------------------+
|             MERGED             |
+--------------------------------+
  • local 引用了部分变基的提交:“ours”(上游分支)
  • remote 指的是传入的更改:“theirs” - 变基之前的当前分支。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-12
    • 1970-01-01
    • 1970-01-01
    • 2011-11-13
    • 2017-03-15
    • 2019-02-26
    • 2019-03-13
    • 1970-01-01
    相关资源
    最近更新 更多