如何在git reposiotry中处理外部项目

时间:2018-03-08 09:32:11

标签: git git-submodules

这是一个场景:

我正在开发一些使用某些库的项目。我在库填充错误报告中发现了一个错误,但不想等待库作者修复它。 我查看了源代码,发现我可以添加对我有用的解决方法(但可能不适用于所有使用此库的人)。

我想将此项目(它在github上)添加到我的,修复一个错误,当作者将使用官方错误修复时,将其替换为包管理器中的库。

看起来像是使用git submodules的地方,但如何在不将更改推送到原始回购的情况下将修复传递给同事?

1 个答案:

答案 0 :(得分:1)

Lukas-reineke有正确的想法。

你应该分叉github项目然后修复bug。然后做两件事:

  1. 向项目所有者发送拉取请求。他们通常很乐意接受错误修复,只要修复符合贡献指南。

  2. 您需要构建并打包您的分叉。根据您正在使用的包装技术(npm,nuget等),此过程将推迟。然后,您需要分发此自定义版本的依赖包,以便您的同事和构建服务器可以访问它。简单的方法是使用您的仓库进行检查,但最好将其托管在内部包裹仓库中。

  3. 原始库作者接受您的修复并发布新的官方软件包后,您可以返回使用他们的版本。