You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:解决GitHub中不同仓库克隆文件夹内容无法访问问题

解决Git嵌入仓库(子模块占位符)无法正常提交的问题

你遇到的是Git嵌套仓库的问题:当你把两个独立的Git仓库(前后端)文件夹直接加到新仓库里时,Git会自动将它们识别为子模块占位符(就是GitHub上带右箭头的文件夹),但这种自动识别的子模块没有正确配置,所以无法访问内容。下面给你两种针对性的解决方案:

方案1:直接整合前后端代码(不保留原仓库关联)

如果你只是需要把代码整合到一个仓库用于调试,不需要同步原前后端仓库的更新,用这个方案:

  • 进入新仓库根目录,先移除Git对前后端文件夹的缓存:
    git rm --cached Front-end Back-end
    
    (替换成你实际的前后端文件夹名称)
  • 删除前后端文件夹里的.git隐藏目录(这是导致嵌套仓库的核心),Git Bash里执行:
    rm -rf Front-end/.git Back-end/.git
    
  • 重新添加所有文件到新仓库:
    git add .
    
  • 提交并推送:
    git commit -m "整合前后端代码到仓库"
    git push origin main
    
    推送完成后,GitHub上的前后端文件夹就会变成普通可访问的文件夹。

方案2:正确配置Git子模块(保留原仓库关联)

如果之后需要从原前后端仓库拉取更新,就需要正确配置子模块,修正之前的错误操作:

  • 清理错误的子模块配置:
    进入新仓库根目录,先移除缓存的前后端文件夹:
    git rm --cached Front-end Back-end
    
    删除自动生成的.gitmodules文件(如果存在):
    rm .gitmodules
    
    提交清理操作:
    git commit -m "清理错误的子模块配置"
    
  • 重新添加子模块:
    分别指定前后端原仓库的URL(替换成实际地址):
    git submodule add <前端原仓库URL> Front-end
    git submodule add <后端原仓库URL> Back-end
    
  • 提交子模块配置并推送:
    git add .gitmodules Front-end Back-end
    git commit -m "添加前后端子模块"
    git push origin main
    
  • 后续克隆仓库时,需要加上--recurse-submodules参数才能拉取子模块内容:
    git clone --recurse-submodules <你的GitHub仓库URL>
    
    或者克隆后手动初始化:
    git submodule init
    git submodule update
    

内容的提问来源于stack exchange,提问作者Le Phenix 47

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 04:40:33