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

如何将单个文件夹下的多个Cargo项目通过Git Push到GitHub仓库?

解决方案

你的判断完全正确——错误根源就是每个Projectx目录下都有独立的.git文件夹,Git会将这类目录识别为未配置的子模块候选,直接执行git add .就会触发报错。根据你的需求,有两种最佳处理方式:

方式一:将所有项目合并到同一个主仓库

如果不需要每个Projectx保持独立Git仓库,只想把所有文件统一放到projects仓库下:

  • 逐个进入每个Projectx目录,删除内部的.git文件夹:
    # Linux/macOS
    rm -rf Project1/.git
    rm -rf Project2/.git
    # 重复操作到Project5
    
    # Windows
    rmdir /s /q Project1\.git
    rmdir /s /q Project2\.git
    # 重复操作到Project5
    
  • 回到projects目录,初始化主仓库(若未初始化):
    git init
    
  • 正常执行提交和推送流程:
    git add .
    git commit -m "Add all Rust projects"
    git remote add origin <你的GitHub仓库地址>
    git push -u origin main
    

方式二:用Git子模块管理独立项目

如果需要保留每个Projectx的独立Git仓库,同时在projects目录统一管理它们:

  • 先确保每个Projectx已经推送到各自的GitHub仓库(进入单个项目目录完成git init、git add .、git commit、git remote add origin、git push流程)
  • 回到projects目录,初始化主仓库:
    git init
    
  • 逐个添加子模块:
    git submodule add <Project1的GitHub仓库URL> Project1
    git submodule add <Project2的GitHub仓库URL> Project2
    # 重复操作到Project5
    
  • 提交子模块配置并推送:
    git add .gitmodules Project1 Project2 Project3 Project4 Project5
    git commit -m "Add submodules for all projects"
    git remote add origin <projects主仓库的GitHub地址>
    git push -u origin main
    

注意:拉取这个主仓库时,需要加上--recurse-submodules参数,或者拉取后执行git submodule update --init --recursive来同步所有子模块内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 04:07:05