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

Git仓库两个子文件夹仅一个更新,如何通过父目录同步两者?

解决方法

从你的git status输出里client (new commits)能看出来,client是一个独立的Git仓库,不是Parent仓库下的普通文件夹——Parent仓库只记录了这个子仓库的引用,并没有追踪里面的文件,所以GitHub上才会显示client为空。

如果你本来不想让client独立(只想把它当Parent仓库的子文件夹)

  1. 进入client目录,删除里面的.git文件夹:
    • Linux/macOS:rm -rf .git
    • Windows命令行:rd /s /q .git
  2. 回到Parent目录,执行git add client/,把client下所有文件加入仓库追踪
  3. 正常提交推送:git commit -m "Add client files" && git push

之后Parent仓库就会正常追踪client里的所有文件,不用切换目录就能和server一起提交更新。

如果你确实需要client作为独立仓库(子模块)

这种情况适合client本身是单独项目,需要和Parent仓库关联的场景:

  1. 回到Parent目录,先初始化子模块(如果之前没正确设置):
    git submodule add <你的client仓库远程地址> client
    
  2. 拉取子模块的最新内容:
    git submodule update --init --recursive
    
  3. 提交子模块的引用到Parent仓库:
    git add client
    git commit -m "Update client submodule reference"
    git push
    

之后在GitHub上,client文件夹会显示为可点击的链接,指向它的独立仓库,内容也会同步展示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 16:06:25