在我的工作中,我們爲某些產品使用了開源軟件,並在主線項目之上開發了一些附加功能和功能提供。開源項目正在積極開發之中,我打算將這些變化中的一部分回饋給主線開源項目。在(上游)開源項目頂部保留附加功能
但是,我還添加了一些其他功能,這些功能是我們產品所需的。這些功能具有安全意義,這對我的用例來說是完全可以接受的,但一般來說不能接受。因此,開源項目決不會接受這些功能作爲主線開發的一部分,所以我必須自己維護這些功能。
我希望能夠偶爾採用新版本的主線開發,但似乎需要我每隔一段時間將我的本地維護功能「重新打包」到主線。
如何以最小開銷維護我作爲獨立的主線開發線所需的功能?每當主線項目發生變化時,我都想避免重寫本地維護的功能,但我不想「分叉」整個項目,因爲我希望繼續提供補丁並拉動來自主線的更新。
最好是將我自己的一組「補丁」文件保存到主線項目的未來發行版中,以實現我的獨立功能(我嘗試應用這些補丁)? (注意:開源項目使用git進行版本控制,如果有任何git工具可以幫助解決這個問題)。