Git Bitbucket如何克隆指定分支下的特定子文件夹
Git单分支下仅克隆指定子文件夹操作方法
你可以通过Git自带的稀疏检出(sparse-checkout)功能实现需求,不需要拉取全量文件,操作步骤如下:
- 首先执行带
--no-checkout参数的单分支克隆,仅拉取目标分支的仓库元数据,不检出全量工作区文件:
git clone -b websitebranch1 --single-branch --no-checkout git@bitbucket.org:iamuser/websites.git
- 进入克隆生成的本地仓库目录:
cd websites
- 开启稀疏检出配置,两种写法二选一即可:
- 通用兼容写法(适配所有Git版本):
git config core.sparseCheckout true echo "api/" >> .git/info/sparse-checkout - 简化写法(适配Git 2.25及以上版本):
git sparse-checkout set api/
- 通用兼容写法(适配所有Git版本):
- 最后执行分支检出,本地就只会生成你需要的
/api文件夹,不会拉取/website、/database等其他目录的内容:
git checkout websitebranch1
注意:配置完成后后续执行
git pull同步分支更新时,也只会拉取/api目录下的变更,不会同步其他目录的文件,不会额外占用存储空间。
内容的提问来源于stack exchange,提问作者Shaik
相关产品推荐
相关产品推荐

