我对Git还很陌生:我之前使用SVN,那里有一个非常强大的:external功能。在Git中,我没有找到类似的东西:
- 子模块非常适合添加不总是需要的项目模块。它们必须在克隆存储库后初始化,并且您不能仅包括原始项目的子目录。
- 子树非常适合添加库(它们还允许子目录包含),但将它们推送是真正的痛苦。
因此,场景是这样的:我有一个项目,其中我想包含一些库。我希望有可能更改所有这些库并将它们推送到它们自己的存储库中。此外,其中一些库是更大项目的子目录(例如,如果项目还包括演示或自述文件,则我不会在我的项目中包括这些目录)。
我该如何做到这一点?
我尝试过:
- http://progit.org/book/ch6-7.html+http://posterous.timocracy.com/git-sub-tree-merging-back-to-the-subtree-for(仅允许合并子目录,或者我只是看不到它);
- http://www.tipstank.com/2011/02/21/git-subtree-notes-and-workflows/(与上述相同,不处理子目录包含);
- http://psionides.eu/2010/02/04/sharing-code-between-projects-with-git-subtree/(没有关于推送的信息);
- http://h2ik.co/2011/03/having-fun-with-git-subtree/(没有关于推送的信息)
好吧,如果您已经到达这个地步,感谢您的耐心,现在我想尝试其他东西,因为我现在的结论是:“在Git中不允许子树推送” ç_ç