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 <origin_url>

点评: 同一项目,不同分支的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

还是直接用git网页端的zip下载搞定,但后续的问题是,如果push到指定的文件夹呢?

原文地址:https://www.cnblogs.com/cn-oldboy/p/15470533.html