【问题标题】:Server-side custom git merge driver on GitHub/Azure ReposGitHub/Azure Repos 上的服务器端自定义 git 合并驱动程序
【发布时间】:2019-11-05 21:35:03
【问题描述】:
我有一个用于 git 的自定义合并驱动程序,它有助于将 lockfiles 合并到由数百名工程师共享的大型 monorepo 中。由于锁文件频繁变动,因此这些文件在审查 PR 时导致合并冲突的情况并不少见(因为 master 进展)。这意味着在使用此合并驱动程序在本地解决这些锁定文件上的冲突后,应手动更新 PR 分支。
问题:有没有办法在服务器端的 GitHub(或 Azure Repos)上配置此合并驱动程序,以便此驱动程序用于合并 PR 分支(而不是默认的自动合并)?
【问题讨论】:
标签:
git
github
azure-devops
lockfile
azure-repos
【解决方案1】:
GitHub 不提供使用自定义合并驱动程序的功能,而且我不知道有任何平台提供。部分原因是自定义合并驱动程序可以执行任意代码,而大多数托管平台对代表用户执行任意代码不感兴趣。
此外,GitHub 上的合并是使用 libgit2 完成的,它旨在在计算合并时快速高效,并在无法合并时提前中止,自定义 Git 合并驱动程序不会提供这些功能。
您可以使用自定义 GitHub Actions 操作,使用您的自定义合并驱动程序,然后将其推送到存储库,找到某种方法来自动合并您满意的拉取请求。在这种情况下,GitHub 会将分支显示为合并并相应地关闭拉取请求。不过,这是您可能获得的最接近的值。