Git使用之submodule
2024-09-06 00:42:21
入职第一周,就因为clone项目而产生了很大的障碍,花了差不多三四个小时才定位问题并解决,记录一下。
一、问题
当我们在使用Git克隆项目的时候,无法克隆下来一个文件夹。记该文件夹为A,A在远程仓库是有的,也能点开看到,而克隆下来后,本地A点开后是空的,什么也没有。
A的特征为,其后面跟着一个 @xxxxxxx,xxxxxxx为一串数字。
二、问题演示
1、在Git Bash中克隆远程仓库,指令如下:
git clone https://github.com/Aq-audio/work-record
拷贝本地文件如下所示
而远程仓库如下所示
2、继续点开submodule文件夹。
本地如下所示
而远程仓库点开后如下所示
3、问题出现了:本地上啥也没有,而远程仓库中却有文件——README.md。
三、定位问题
核心在于,submodule文件夹是一个子项目,在远程仓库中,其后面的 @xxxxxxx是子项目的标识。
submodule的具体使用大家可以看Git Book的描述,在此不加以赘述。
https://git-scm.com/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E5%AD%90%E6%A8%A1%E5%9D%97
四、解决问题
在本地中,Git Bash进入最开始拷贝得到的文件夹,本例中,该文件夹是 work-record,如下所示
输入指令
git submodule update --init --recursive
此时,再进入本地的submodule文件夹,可以看到,已经将远程仓库中该文件夹下的文件拷下来了。
其它方法:
1、在最开始的时候,看到有这种子项目的项目,直接用以下指令拷贝。
git clone --recursive https://github.com/Aq-audio/work-record
便可以一步到位将所有的子项目拷到本地来。
2、使用visual studio拉取项目,选择递归式拉取。
同样的,如果一个大项目中,有子项目,子项目下面又有子项目,也是一样的操作方法。
说明:该内容与我的知乎专栏——工作点滴一致,都是本人所写。将知乎的内容也发在博客园是因为认识的一个大佬曾在博客园中写过不少博客,向他学习。
最新文章
- Selenium Remote-Control架构
- Shell下突破安全狗远程桌面守护
- 新安装loadrunner无法录制脚本的原因之一及解决方案
- iOS学习04C语言数组
- Uploadify v3.2.1 上传图片并预览
- JS Replace 全部替换字符 用法
- SQL将金额转换为汉子
- Regional Changchun Online--Ponds
- 自动设置iframe大小的jQuery代码
- Asp.Net 之 使用Form认证实现用户登录 (LoginView的使用)
- HDOJ/HDU 2561 第二小整数(水题~排序~)
- 左右HttpClient上传的方法来解决中国的乱码
- VMware安装ubuntu,通过/mnt/hgfs 挂载共享Windows系统文件夹
- 常用sql语句整理:mysql
- Web项目中出现乱码
- Winform自动更新组件分享
- 0.11内核rd_load@ramdisk.c中memcpy函数好像有bug
- 【校招面试 之 剑指offer】第10-2题 青蛙跳台阶问题
- windows查找端口占用/ 终结端口占用 ------------windows小技巧
- 微信小程序-scroll-view组件