将submodule转换为普通文件夹 推送仓库时子文件夹不可点击跳转
问题根因
你看到的不可点击文件夹是Git识别到嵌套Git仓库后生成的指针引用,你存放Spring Boot项目的子目录本身包含.git隐藏文件夹,属于独立的Git仓库,推送到父级仓库时,Git默认不会将该子目录的实际文件同步上传,仅保留关联引用,因此远端无法查看子目录内部内容。

解决方案
场景1:未将嵌套仓库提交到父级仓库
- 进入Spring Boot项目所在的子目录,删除内部的
.git隐藏文件夹
注:.git为系统默认隐藏的文件夹,需要开启系统的隐藏文件显示权限才能查看。如果需要保留该子项目的Git提交记录,不要执行删除操作,改用子模块方案 - 回到父级项目根目录,执行命令清除Git缓存:
git rm --cached 子目录相对路径 - 重新执行提交推送操作即可:
git add . git commit -m "提交Spring Boot项目完整文件" git push
场景2:已经提交了无效指针引用到远程仓库
- 先执行缓存清除命令:
git rm --cached 子目录相对路径 - 删除子目录内的
.git文件夹后,重新执行add、commit、push操作覆盖远端的无效引用即可。
可选方案:保留子项目独立Git仓库
如果需要同时保留父仓库和Spring Boot子项目的Git提交记录,可以将子项目配置为Git子模块,后续可以独立更新两个仓库的内容,配置命令如下:git submodule add 子项目Git仓库地址 子目录相对路径
内容的提问来源于stack exchange,提问作者Andy Olivares
相关产品推荐
相关产品推荐

