Git错误合并:理解它们

Git错误合并:理解它们,git,merge,conflict,git-merge,merge-conflict-resolution,Git,Merge,Conflict,Git Merge,Merge Conflict Resolution,我有一个简短的问题,我希望有人能解释一下,或者至少给我指一些文档。我已经阅读了git合并手册页,但我仍然不明白是什么导致了这种情况 我们的主分支是版本1 我们的几个开发人员和一个图形设计师已经在他们自己的master分支上工作了大约三周。开发人员一直在进行补丁和更新。图形设计师一直在开发版本2——一个完整的重新设计 我一直害怕合并它,因为我以前看到git进行了错误的合并,基本上覆盖了代码并破坏了东西 不管怎样,我们有很多合并冲突,在第二个文件中,我发现了一些似乎不正确的地方。我将设计师和开发人员

我有一个简短的问题,我希望有人能解释一下,或者至少给我指一些文档。我已经阅读了git合并手册页,但我仍然不明白是什么导致了这种情况

我们的主分支是版本1

我们的几个开发人员和一个图形设计师已经在他们自己的master分支上工作了大约三周。开发人员一直在进行补丁和更新。图形设计师一直在开发版本2——一个完整的重新设计

我一直害怕合并它,因为我以前看到git进行了错误的合并,基本上覆盖了代码并破坏了东西

不管怎样,我们有很多合并冲突,在第二个文件中,我发现了一些似乎不正确的地方。我将设计师和开发人员召集在一起,果然,设计师的更改被覆盖了

现在,开发人员从未签出设计师作品的副本,也没有将其合并到他们的分支中。然而,设计师可能在某个时候签出了主分支,并自行解决了一些冲突,以获得一些最新的更改(我不知道这是否重要,但我希望在这种情况下,设计师提交会覆盖开发人员)


如前所述,这不是第一次发生这样的事情,因为这是一次相当大的合并,我想了解发生了什么。

您可能希望为您的团队研究更复杂的工作流程。对我来说,目标是将master作为纯工作提交的日志,并使用功能/热修复程序分支进行工作。这是基于模型的

例如,假设您是一名致力于用户身份验证的开发人员。你会:

  • 从develope中签出一个新分支:
    git checkout-b feature/auth develope
  • 做些改变
  • 提交代码:
    git提交-m“提交消息”
现在,您希望推动您的更改进行开发。不幸的是,设计器推送了一些更改,其中一个会影响提交中的文件。这意味着您的分支机构已“偏离”了“发展”

  • 运行
    git-rebase-develope
    将要开发的更改覆盖到您的功能提交上
  • 如果存在冲突,则需要修复它们
  • 冲突解决后,继续重新设置基础
准备好后,可以将
develope
的提示推到
master
。查看我上面发布的链接,了解更多关于发布分支、修补程序等的信息