我对Git和Ruby都很新,但是我想知道这种情况是否适合使用Git子模块,或者我是否应该采用不同的方法。
我正在研究Sinatra项目。我想在Github上托管的代码中使用一个gem。我需要对我的项目的gem进行一些更改。 (基本上,gem用于处理某种文件格式,而我使用的源代码不符合此格式的某些标准。我认为调整gem而不是尝试修复文件会更容易) 。我不认为我所做的改变会对大多数人有用,所以我不打算分支这个项目。
我想要做的是在我的项目中为gem项目添加一个子模块,然后在那里进行更改。我不打算将任何这些更改推送到一个单独的存储库,但我认为如果他们添加任何额外的内容,能够将gem的作者所做的任何更改与我的更改合并将会很好功能。
这看起来合适吗?
答案 0 :(得分:1)
这不是子模块的工作方式。您需要某处来推送您的更改,或者任何提取您的repo的人都无法从中提取子模块。您可以在存储主存储库的同一位置创建一个兄弟存储库,您可以将其作为子模块的官方源。您仍然可以将gem的上游更改提取到您的仓库中,您只需将生成的合并和更改推送到子模块的远程。