git 按需下载仓库某个文件夹
应用场景
在 github
有一个很大的仓库,但是自己真正使用的只有某几个文件夹,那么如何只下载这几个文件夹呢?
这里就要使用 git
的 sparse-checkout
功能
下面主要介绍三种情况
- 本地没有此仓库代码
- 本地已有此仓库代码
- 禁用该功能
本地没有此仓库代码
本地建立一个新的仓库
git init my_source_project
cd my_source_project
添加远程仓库地址
这里的远程仓库地址即为需要下载部分代码的仓库地址
git remote add origin https://github.com/tyustli/threadx-l475.git
在本地仓库里面启用sparse-checkout
git config core.sparseCheckout true
添加需要下载的文件夹
echo "/docs" >>.git/info/sparse-checkout
echo "/stm32l475" >>.git/info/sparse-checkout
也可以用编辑器直接打开 .git/info/sparse-checkout
文件并写入,该文件语法规则和 .gitignore
文件一样
下载需要的代码
git pull origin master
当然也可以先
git branch --set-upstream-to=origin/master
然后
git checkout master
git pull
本地已有此仓库代码
如果本地已经建了版本库,要使用这个功能,可以进入版本库的目录,执行以下命令
git config core.sparsecheckout true // 使能该功能
echo "" > .git/info/sparse-checkout // 清空该文件
echo "/docs" >> .git/info/sparse-checkout // 添加需要下载的文件
echo "/inc" >> .git/info/sparse-checkout // 添加需要下载的文件
echo "/src" >> .git/info/sparse-checkout // 添加需要下载的文件
git checkout master
git pull
后续有需要下载的文件夹文章来源:https://www.toymoban.com/news/detail-515511.html
echo "/xxx" >> .git/info/sparse-checkout
git checkout master
git pull
禁用该功能
git config core.sparsecheckout false
echo "*" > .git/info/sparse-checkout
git checkout master
git read-tree...
参考链接
- http://schacon.github.io/git/git-read-tree.html#_sparse_checkout
总结
本文主要介绍了 sparse-checkout
的功能,如何下载远程 git
仓库中的部分代码及文件夹。文章来源地址https://www.toymoban.com/news/detail-515511.html
到了这里,关于【git】按需下载仓库某个文件夹的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!