GIT 拉取特定的目录,以及操作点评
https://zhuanlan.zhihu.com/p/310701669
仓库只有一个的情况下,只想拉取某个目录文件;其他文件没用到的会很浪费时间;
关键:git的sparse checkout模式
大致步骤:
1,本地新建文件夹或者执行命令
mkdir newproject && cd newproject
点评:建个文件,不需要命令的,win系统,直接新建目录就行
2,目录初始化
git init
点评:初始化的时候,是个空仓库,为空是正常的。
3,设置远程仓库地址
git remote add -f origin
点评: 同一项目,不同分支的url是一样的,后续,再切换分支。按道理,这时候,并没有拉取文件,但是,运行命令的时候,出现了下面的更新项
要下载更多东西的样子,好恶心。
项目很大,我知道,我想只拉取某个目录,结果,还是要加载很久。
出力不讨好,运行一半,我就直接停止了命令,命令行此时报错为
error: Could not fetch origin
4,设置sparse checkout模式,允许克隆子目录
git config core.sparsecheckout true
5,设置指定拉取的目录( 是通配符,!是反选;例如 clients/ 表示clients目录下所有)
echo clients/html >> .git/info/sparse-checkout
点评:上述命令中,可变的部分,只有clients/html。改成项目中,想要拉取的目录。
6,拉取
git pull origin master
第6步如果遇到 fatal: Couldn't find remote ref master;
表示主线名称不是master,可以通过分支命令查看git branch -a
git branch -a
remotes/origin/main
根据上面提示,主线名称是main,则执行
git pull origin main