gpt4 book ai didi

Git 子树 : Use only subrepository instead of whole repository

转载 作者:IT王子 更新时间:2023-10-29 01:29:26 24 4
gpt4 key购买 nike

我有一个项目使用了一些第 3 方库。所以目录结构是这样的:

MY_COOL_PROJECT
3rdParty
LIB_1
LIB_2
Source
MY_PROJECT

这些库位于单独的存储库中。所以,如果我想为第 3 方库使用 git 存储库,我可以这样做:

git subtree add --prefix 3rdParty/LIB_1 --squash http://My3rdPartyLibs.com/lib1.git master

但是,在 lib1.git 存储库中,我只需要一个 bin 文件夹。它还包含文档、示例等文件夹。如何只将我的存储库“连接”到 lib1/bin 文件夹而不是整个存储库?这可能吗?

最佳答案

通常,完成一个 git 仓库是为了完全克隆/加载。

可以 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

OP user2070238 reports :

This worked with a few changes.
Because, I use submodule I had to use

 echo MY_FOLDER/* >> .git/info/modules/MY_MODULE/sparse-checkout 

And for some reason the MY_FOLDER/ part was not working without *

关于Git 子树 : Use only subrepository instead of whole repository,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14864887/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com