gpt4 book ai didi

git - 在(上游)开源项目之上维护附加功能

转载 作者:太空狗 更新时间:2023-10-29 13:41:33 26 4
gpt4 key购买 nike

在我的工作中,我们为我们的一些产品使用了开源软件,并在主线项目提供的功能之上开发了一些额外的特性和功能。开源项目正在积极开发中,我打算将其中一些更改贡献回主线开源项目。

不过,我还添加了一些我们产品所需的其他功能。这些功能具有安全隐患,这对于我的用例来说是完全可以接受的,但一般来说是 Not Acceptable 。因此,开源项目永远不会接受这些功能作为主线开发的一部分,所以我必须自己维护这些功能。

我希望能够偶尔发布主线开发的新版本,但这似乎需要我每隔一段时间将本地维护的功能“重新修补”到主线中。

作为独立于主线的开发线,如何以最小的开销维护我需要的功能?我想避免每次主线项目发生变化时都必须重写本地维护的功能,但我不想“ fork ”整个项目,因为我想继续贡献补丁和 pull 来自主线的更新。

维护我自己的一组“补丁”文件以实现我的独立功能(我尝试应用这些补丁)到主线项目的 future 版本是否最好? (注意:开源项目使用 git 进行版本控制,如果有任何 git 工具可以帮助实现这一点的话。)

最佳答案

只需使用主题分支。当你编码时,确保你可以贡献给项目的代码与你的特定实现所需的代码位于不同的主题分支中。私下里,对于你的雇主,将它们全部 merge 到 master 中以使你的软件工作。公开地,仅发布和 pull 请求(或通过电子邮件或任何项目所做的修补)不包含您的站点特定代码的代码。

该工作流程没有任何异常之处。主题分支,又名特性分支,也是一个很好的 git 习惯;工作流程还有其他好处。

关于git - 在(上游)开源项目之上维护附加功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11986061/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com