我正在创建cocos2d-x游戏,并包含上游cocos fom git(它包含一些关键的修复程序和功能)。但是,使用SDKBOX时需要修补一些cocos文件(位于子模块中)。
是否可以将这些文件(甚至更好的补丁程序)包含到主存储库中?当然,可以派生cocos2d-x存储库并在那里进行修补,但这会使更新变得更加复杂(首先创建拉取请求并进行合并)。
答案 0 :(得分:4)
是否可以在子模块中更改几个文件
是的,但这意味着父存储库将引用一个新的SHA1,代表该子模块的根树。
如果您在不推送子模块的情况下推送主仓库,则克隆SHAPO的任何人都将无法更新/签出子模块,因为SHA1未知。
因此,您需要能够将在子模块中完成的修复推回其上游存储库。
不创建叉子吗?
如果您拥有上游存储库,则可以直接将其回推。
但是,如果不是这样,那么仍然需要一个fork或至少一个分支新存储库,您可以将其推送回去。为您提供了update the submodule URL。
我会说这仍然是推荐的方法,即使稍后会在某些请求请求中涉及到它。