我有一个使用一些第三方库的项目。 所以目录结构类似于:
MY_COOL_PROJECT
3rdParty
LIB_1
LIB_2
Source
MY_PROJECT
这些库位于不同的存储库中。所以,如果我想为第三方库使用git存储库,我可以这样做:
git subtree add --prefix 3rdParty/LIB_1 --squash http://My3rdPartyLibs.com/lib1.git master
但是,在lib1.git存储库中,我只需要一个bin文件夹。它还包含文档,示例等文件夹。我怎样只能将我的存储库与lib1 / bin文件夹“连接”而不是整个存储库?这甚至可能吗?
答案 0 :(得分:7)
通常,完成git repo以完全克隆/加载。
你可以选择 sparse checkout (Git1.7 +),但前提是你不打算进行任何修改并将其推回去。见this example:
$ git init
Initialized empty Git repository in /tmp/si-sandbox/.git/
(master) $ git config core.sparsecheckout true
(master) $ echo message-store/ >> .git/info/sparse-checkout
(master) $ git remote add origin git://github.com/iwein/Spring-Integration-Sandbox.git
(master) $ git pull origin master
这有一些变化 因为,我使用子模块我必须使用
echo MY_FOLDER/* >> .git/info/modules/MY_MODULE/sparse-checkout
由于某些原因,
的情况下无效MY_FOLDER/
部分在没有*