在GitHub上,有没有通过比较分支来查看合并冲突的方法?

21

我在GitHub上总是很难合并分支。我承认我并不精通Git CVS,所以我更喜欢使用可视化工具,比如GitHub DesktopGitHub网站来完成我的目标。

我们定义的开发流程是有3+N个分支:

  1. master - 表示生产环境
  2. staging - 表示演练环境
  3. development - 主要开发分支,我们都从这里创建特性/缺陷/热修复分支

所以每当有人想开发某些东西时,他们会从development创建一个分支并开始实现它。

当开发完成后,他们的特性分支将被合并回到development中,如果一切顺利,development分支将被合并到staging进行测试。

我知道,由于我们在development分支上没有进行任何特定的测试,因此我们可以轻松地放弃它,并只使用masterstaging分支来完成同样的工作。Staging分支实际上正在受到测试,虽然测试不严格。

现在我有一个开发人员,他现在创建了两个特性,每次我将拉取请求合并到development中时,都会遇到问题。 问题是我不知道如何在网页上查看问题(例如比较分支),以便告诉那个人该怎么做,这样我才能真正地去工作而不是管理我们的代码仓库。至少这很令人沮丧...

所以每当我创建一个拉取请求时,GitHub就会告诉我,我有一些无法自动解决的合并冲突,但我该如何查看这些冲突

实际上,考虑到我的可视化工具,最好的解决问题的方式是什么?


你为什么不能在本地执行git merge呢?这样可以显示所有的冲突。之后,你可以中止合并操作。如果你选择保留合并操作并解决了冲突,你可以将分支推回GitHub,此时合并按钮将变成绿色,表明可以在远程执行合并操作。 - Tim Biegeleisen
@TimBiegeleisen:好的,但是我在GH桌面版上怎么做呢?如果我发起一个拉取请求,它会立即同步到GitHub上,因为我可以立即在网页上看到它。 - Robert Koritnik
我更喜欢使用Git命令行工具。你不能/不想使用它吗?我总是觉得GitHub在需要细粒度解决问题时有所欠缺。通常情况下,GitHub希望执行合并请求的人尽职尽责,确保所有冲突都已解决。 - Tim Biegeleisen
1个回答

7

我不确定这是否有帮助,但GitHub最近在Web界面上发布了冲突解决功能

github merge conflicts

如果您使用拉取请求,这将能够在很大程度上帮助。如果您没有使用(遗憾),那么为了查看冲突而打开拉取请求可能有些过头了。好的一点是,除非您有复杂的冲突(重命名/移动文件),否则这不仅会显示冲突,而且会提示您解决它。
希望这可以帮到您。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接