我对 Git 很陌生:我来自 SVN,在那里我发现 :external 功能非常强大。在 Git 中我没有找到类似的东西:
- 子模块非常适合添加并不总是需要的项目模块。它们必须在 repo 克隆后初始化,并且不能只包含原始项目的子目录。
- 子树非常适合添加库(它们也允许包含子目录),但推动它们是一件非常痛苦的事情。
所以场景是这样的:我有一个项目,我想在其中包含一些库。我希望有可能更改所有这些库并将它们推送到自己的存储库中。此外,其中一些库是较大项目的子目录(例如,如果一个项目还包含演示或自述文件,我不会在我的项目中包含这些目录)。
我怎样才能做到这一点?
我试过了:
- 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/have-fun-with-git-subtree/(看不到推送)
好吧,如果您已经达到了这一点,感谢您的耐心等待,现在我想尝试其他方法,因为现在我的结论是:“Git 中不允许子树推送”ç_ç