有没有办法通过比较分支来查看 GitHub 上的合并冲突?
Posted
技术标签:
【中文标题】有没有办法通过比较分支来查看 GitHub 上的合并冲突?【英文标题】:Is there a way to see merge conflict on GitHub by comparing branches? 【发布时间】:2015-11-20 05:50:58 【问题描述】:我总是很难在 GitHub 上合并分支。我承认我不太精通 Git CVS,所以我宁愿使用 GitHub Desktop 和 GitHub 网站 等可视化工具来实现我的目标。
我定义我们的开发流程的方式是有 3+N 个分支:
-
master - 代表生产环境
staging - 表示暂存环境
开发 - 主要开发分支,我们都从这里创建功能/错误/修补程序分支
因此,每当人们想要开发某些东西时,他们都会从开发中创建一个分支并开始实施它。
当开发完成后,他们的特性分支然后被合并回开发,如果一切顺利,开发分支然后被合并到staging进行测试。
我知道,由于我们没有对 development 分支进行任何特定测试,因此我们可以轻松地丢弃它,我们只使用 master 和 暂存 分支来完成同样的任务。 Staging 分支实际上正在测试中。轻微,但仍然如此。
现在我有一个开发人员,他现在创建了两个功能,每次我将拉取请求合并到 开发 时,我都遇到了合并它的问题。 问题是我不知道如何在网络上真正查看问题(例如比较分支)来告诉那个人如何做事,这样我就可以做实际的事情了工作而不是管理我们的代码仓库。至少令人沮丧...
所以每当我创建拉取请求时。 GitHub 告诉我,我有一些无法自动解决的合并冲突,但是我如何看到这些?
实际上,鉴于我的可视化工具,我解决问题的最佳方式是什么?
【问题讨论】:
有什么理由不能在本地做git merge
吗?这将向您显示所有冲突。之后您可以中止合并。如果您选择保留合并并解决冲突,则可以将分支推送回 GitHub,合并按钮将变为绿色,表示可以在远程进行合并。
@TimBiegeleisen:好吗?但是我如何在 GH Desktop 中做到这一点?如果我提出拉取请求,它会立即同步到 GitHub,因为我可以立即在网络上看到它。
我更喜欢使用 Git 命令行工具。您不能/不想使用它吗?当我需要对正在发生的事情进行细粒度的解析时,我总是发现 GitHub 缺乏。通常,GitHub 期望发出合并请求的人尽职尽责,并确保解决所有冲突。
【参考方案1】:
我不确定这是否有帮助,但 GitHub 最近有 released conflict resolution on the web interface:
如果您使用拉取请求,这将有很大帮助。如果您不这样做(笨拙),那么打开拉取请求只是为了查看冲突可能是一种矫枉过正的做法。好消息是,除非您有复杂的冲突(重命名/移动文件),否则这不仅会显示冲突,还会提示您解决它。
希望这会有所帮助。
【讨论】:
以上是关于有没有办法通过比较分支来查看 GitHub 上的合并冲突?的主要内容,如果未能解决你的问题,请参考以下文章