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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通