git拉取子目录

在实际开发中,我们经常会遇到以下几种场景:

  • 模块化开发 - 大型项目拆分为多个独立模块,只需获取特定模块代码
  • 多项目管理 - 一个仓库包含多个子项目,只需获取其中一个子项目
  • 节省空间 - 只下载需要的目录,避免克隆整个大型仓库
  • 提高效率 - 减少不必要的文件下载和同步时间

使用 Sparse Checkout 拉取子目录
这是 Git 官方支持的子目录拉取方案,操作步骤如下:

1 进入项目目录

mkdir project && cd project
2 初始化执行后续拉去子目录的方法
git init
git remote add -f origin https://yourgitaddress.com/xxx
git config core.sparsecheckout true    
echo "/yourgitdir" >> .git/info/sparse-checkout
git pull origin master

其中https://yourgitaddress.com/xxx为git服务器地址

yourgitdir为xxx项目子目录

3 解决每次都要输入密码的问题

为了避免每次操作都需输入账号密码,可以配置 Git 凭证存储:

进入项目目录,输入

git config --global credential.helper store

首次操作时会提示输入账号密码,之后 Git 会自动保存凭证信息。
4 注意事项
确保 Git 版本在 1.7.0 以上
子目录路径要准确,区分大小写
如果子目录依赖其他目录文件,可能需要额外配置
使用 git config --global credential.helper cache 可设置凭证缓存时效