2013-11-24 72 views
0

你好,这是我想要的帮助。项目与图书馆依赖项的git布局?

我有两个项目bitbucket(类似于github)。一个是另一个是Library的应用程序。所以,当我在应用程序上工作时,我希望能够向库提交补丁(我想让它们与不同的分支分开)。该应用程序也依赖于这个库。

在磁盘上的布局可能是这个样子:

$MyProject/Src 
$MyProject/Library 

我希望能够提交补丁和独立分支他们,我可以使用git子树,或者我应该去使用Git的子模块?

还有第三种方法更好吗?

+1

git submodules看起来不错。然而,许多平台都有依赖管理器,(比如我)更容易使用,比如Apache Maven或者CocoaPods。它们不是git的替代品,但它们允许您像分开的git repos一样组织库,并将它们的依赖关系添加到您的主项目中。 –

+0

国际海事组织,混帐子模块成为一种痛苦,只是转向使用子树。它会工作得很好。 –

+0

小心细化一下?为什么git子模块会变得痛苦?我是否可以轻松地将子树中的更改推送到该存储库的“源代码开发”? – Konrad77

回答

1

也许这只是我,但我个人使用谷歌回购(使用git大量存储库编号的Python脚本),而不是子模块。

也许值得为你调查。你只需要用你的出处,分支git repostories等来定义一个xml,其余的就是回购。

然后,您可以轻松地定义您的文件夹结构或切换到另一个分支组合。

1

第三种选择可能是:

  • 将应用程序和单独的存储库库
  • 发布库的包,只要你想
  • 有你的应用程序引用您希望库的版本。

一个好处是,你不需要尝试用Git做花哨的东西。

两个缺点将是:

  • ,如果你不包/分发您的图书馆还没有,它可能需要一些额外的工作落实到位
  • 如果库中的改动破坏了您的应用程序,你可能不会马上注意到(但你可能会有与子模块相同的问题)