Git克隆一个仓库的子目录

2023年08月02日星期三阴北京市北京师范大学, 为了保证 Neovim 的配置自动同步到 gitlab,再另外的机器上再同步升级配置和插件,这就需要将配置的子目录单独克隆到配置目录~/.config中,在网络上找到相应的方法,现记录于此方便大众。

clone 仓库的子目录
1
2
3
4
5
6
cd ~/.config/
git init # 初始化仓库
git remote add origin git@gitlab.com:fengzhenhua/neovimconfig.git #增加远程仓库
git config core.sparsecheckout true # 设置Sparse Checkout 为true
echo "nvim" >> .git/info/sparse-checkout # 将要克隆的目录下的子目录nvim加入
git pull --depth 1 origin main #pull 下来代码

注意:在上述代码中的第5行,nvim 是相对于目录 git@gitlab.com:fengzhenhua/neovimconfig 而言的,也就是完整目录应当为git@gitlab.com:fengzhenhua/neovimconfig/nvim 。 若是在nvim下的lua目录,则应当写为nvim/lua 做对应的取代。

参考文章:git clone仓库的一个子目录