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

VS Code无法显示父仓库中子目录克隆仓库的代码变更该如何处理?

解决嵌套Git仓库变更不显示的问题

情况1:不需要保留kubric与原仓库的关联(直接将kubric作为普通目录提交)

当前kubric是独立的Git仓库(自带.git目录),父仓库会默认忽略它的内容,导致VS Code源代码管理不显示其中的变更。解决步骤:

  • (可选)备份kubric的原Git信息,方便后续同步上游kubric的更新:
    mv /users/me/repos/my_tapnet_integration/tapnet/kubric/.git /users/me/repos/my_tapnet_integration/tapnet/kubric/.git_backup
    
  • 回到my_tapnet_integration根目录,将kubric目录加入父仓库追踪:
    cd /users/me/repos/my_tapnet_integration
    git add tapnet/kubric/
    
    执行后VS Code的源代码管理就会显示kubric内的所有变更,你可以和tapnet的修改一起提交到my_tapnet_integration仓库。

情况2:需要保留kubric与原仓库的关联(使用Git子模块)

如果需要后续同步上游kubric的更新,建议使用Git子模块,但不能直接对已存在的kubric目录执行git submodule add,正确步骤:

  • 先移除当前的kubric目录,提前备份好你在kubric里的修改到其他位置:
    rm -rf /users/me/repos/my_tapnet_integration/tapnet/kubric
    
  • 在my_tapnet_integration根目录添加子模块:
    cd /users/me/repos/my_tapnet_integration
    git submodule add https://github.com/google-research/kubric.git tapnet/kubric
    
  • 初始化并更新子模块:
    git submodule init
    git submodule update
    
  • 将之前备份的kubric修改复制回新的子模块目录,之后进入kubric目录提交变更,父仓库会追踪子模块的commit哈希值,VS Code也会显示子模块的状态变更。

为什么直接git submodule add kubric/不可行?

当前kubric已经是一个独立的Git仓库,Git不允许直接将已存在的Git仓库作为子模块添加到当前仓库,执行该命令会触发报错,必须先移除原kubric的.git目录或删除整个kubric目录后再添加子模块。

内容的提问来源于stack exchange,提问作者neon5480

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 17:57:46