2011-10-14 27 views
0

我对Git和Ruby都很新,但是我想知道这种情况是否适合使用Git子模块,或者我应该使用不同的方法。这是使用git子模块的合适场景吗?

我正在进行Sinatra项目。我希望使用Github上托管的代码来创建一个宝石。我需要对我的项目的宝石进行一些更改。 (基本上,gem是用于处理某种文件格式的,我使用的源代码不符合这种格式的某些标准,我认为调整gem比修改文件更容易) 。我认为我所做的改变对其他大多数人都没有任何用处,所以我没有计划推动这个项目。

我想要做的是在我的项目中为宝石项目添加一个子模块,然后在那里进行更改。我不打算将这些更改推送到单独的存储库,但我认为如果添加任何附加内容,就可以将gem的作者所做的任何更改与我的更改合并在一起功能。

这看起来合适吗?

回答

1

这并不完全如何submodules工作。您需要某处来推动您的更改,否则任何取回您的回购的人都无法从中抽取子模块。你可以在你的主仓库存储的同一个地方创建一个兄弟仓库,你可以将它作为子模块的官方源代码。您仍然可以将上游更改从gem拖放到回购站中,只需将产生的合并和更改推送到子模块的远程。

+0

这完全有道理。谢谢。 –