Git 合并指令未按预期工作

Git Merge Instructions not Work as Expected

我刚刚尝试按照 these Atlassian Bitbucket instructions 解决合并冲突,但发现它无法正常工作。

如果遵循这些说明,有时 "develop" 分支中的更改会覆盖 "source branch" 中所做的更改。

例如在 Swift 文件中(注意这是两个版本并且包含行号):

这是开发,git 正在努力保留这个。

required init?(map: Map){ // 67
    super.init()          // 68
    mapping(map: map)     // 69
    if origin == nil {    // 70
        origin = ""       // 71
    }                     // 72
}                         // 73

这是源文件

required init?(map: Map){  // 67
    super.init()           // 68
    mapping(map: map)      // 69
}                          // 70

如您所见,"source branch" 删除了这些代码行,但 git 认为 "develop" 应该重新添加它们。 (正确的是,如果我告诉 develop 按照 Atlassian 说明合并到我的分支)

这是不正确的,因为我的分支中的所有内容都应该尝试覆盖开发分支中的每个 file/change 并在存在冲突时引发冲突。

我是菜鸟还是这些说明不正确?

还有人可以建议使用我的分支作为一切的冲突解决方案吗?

(我认为我需要检查 "develop" 然后将 "feature branch" 合并到其中。感觉这跳过了拉取请求步骤......不想要)

这是因为开发分支在源分支被分支并签出后对其进行了 "reversion" 操作。这使 develop 分支在历史上具有更高的优先级,因此 git 将拒绝我的分支中的任何更改。 (全部20个文件,谁知道有多少行代码)

与同事交谈后发现,由于意外合并到 origin/develop。

简单规则 - 如果其他开发人员有更改的分支,请不要使用 "reverse commit to"。

这样做^会覆盖在其他开发人员合并 XD​​ 时对本地分支所做的每一个更改