首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >欠平衡冲突合并算法

欠平衡冲突合并算法
EN

Stack Overflow用户
提问于 2016-06-24 11:30:56
回答 1查看 1.5K关注 0票数 3

我看着一个看起来一团糟的合并标记。为了给你提供这种情况,我们可以这样做:

代码语言:javascript
复制
public void methodA() {
    prepare();
    try {
      doSomething();
    }
    catch(Exception e) {
      doSomethingElse();
    }
}

现在是合并(我使用SourceTree进行拉)。标记看起来是这样的:

代码语言:javascript
复制
<<<<<<<<< HEAD
    try {
      doSomething();
    }
    catch(Exception e) {
      doSomethingElse();
    }
============================
private void methodB() {
    doOtherStuff();
>>>>>>>> 9832432984384398949873ab
}

因此,拉出提交所做的是完全删除methodA并添加methodB。

但你注意到有些线条完全缺失了。

根据我对这个过程的理解,Git正在尝试所谓的自动合并,如果这一过程失败并在检测到的地方发生冲突,则用标记为“<<<*HEAD”++ '====‘+ after + '>>>* CommitID’之前的部分来表示完整的合并,并准备手动解决冲突。

那它为什么会遗漏一些台词。在我看来更像是虫子。

我使用2.6.2.windows.1.,所安装的git版本是Windows7。虽然最新版本是2.9,但我想知道git版本是否存在如此严重的合并问题?这不是我第一次经历这样的事情..。。

EN

回答 1

Stack Overflow用户

发布于 2016-06-24 12:17:28

在合并中,只标记包含冲突的更改。

Rev A中的变化和Rev B中的不同变化直接合并到。只有在同一地点的Rev A和Rev B中的更改才被标记为冲突。通知用户,文件中存在冲突,需要解决。

当您去解决冲突时,合并后的文件已经有来自Rev A和Rev B的独立更改,以及冲突部分的冲突标记。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38012397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档