2009-10-18 54 views
2

我正在使用一些我不托管自己的存储库,我想如果我部署我的应用程序时他们不可用?这根本就不会发生。如何“冻结”git submodule

有没有办法“冻结”子模块,当我从我的仓库中取出子模块已经初始化和更新?

任何帮助表示赞赏。

回答

4

我正在使用一些存储库,但我并没有托管自己,我想如果部署我的应用程序时他们不可用?这根本就不会发生。

通过克隆它们来托管这些存储库的镜像,并将镜像用作子模块。

+0

我想到了它,但我希望有一些东西在git中允许这样做。 – philhq 2009-10-18 23:33:17

2

如果您不打算跟踪子模块存储库中的开发,为什么要设置它?子模块适用于当您想跟您自己分开存储库的外部开发时。我会简单地检查你想要“冻结”它的任何提交,并将它提交到你的主存储库。这可以使用subtree merge strategy来完成,该工具更适合于合并外部存储库,然后将组合存储库的整个历史记录一起工作。

话虽如此,当你正在部署/释放,我不会依赖外部存储库和您的带血的开发源代码反正,只需滚动发行存档/压缩包/可执行/然而你释放 - 因为你已经自己获得了子模块源,它已成为一个非问题,尽管在任何情况下该子问题都可以通过子树合并策略来缓解。

+0

评论,downvote? – 2012-10-12 20:04:10