如何提交父模块中的Git子模块并上传修改后的公开项目至私有Git仓库?
解决Git子模块提交至私有仓库的步骤
前提准备
确保你已完成:
- 修改克隆的公开项目(含可能的子模块内容)
- 创建好空的个人私有Git仓库
步骤1:替换父仓库的远程地址
进入克隆的父项目目录,先移除原只读远程仓库:
git remote remove origin
再添加你的私有仓库作为新远程:
git remote add origin <你的私有仓库地址>
步骤2:处理子模块(若项目包含子模块且你修改了其内容)
- 进入子模块目录:
cd <子模块目录名>
- 移除子模块原有远程仓库:
git remote remove origin
- 添加你私有平台上对应的子模块空仓库地址:
git remote add origin <你的子模块私有仓库地址>
- 提交并推送子模块的修改:
git add . git commit -m "提交子模块修改内容" git push -u origin main # 分支名根据私有仓库默认分支调整,如master
- 返回父项目目录,提交子模块的引用更新:
cd .. git add <子模块目录名> git commit -m "更新子模块引用至私有仓库版本"
步骤3:提交父项目修改并推送至私有仓库
在父项目目录下执行:
git add . git commit -m "提交父项目修改及子模块更新" git push -u origin main # 分支名根据私有仓库默认分支调整
可选方案:将子模块转为普通目录
若无需单独管理子模块仓库,可把它转为父仓库的普通目录:
git rm --cached <子模块目录名> rm -rf .gitmodules git add <子模块目录名> git commit -m "将子模块转为普通目录" git push origin main
内容的提问来源于stack exchange,提问作者VIArchitect
相关产品推荐
相关产品推荐

