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

修改Git submodule内容后,可以将改动推送到自己的仓库吗?

问题解答

完全可以将submodule的改动推送到自己的仓库,核心操作是修改submodule关联的远程仓库地址为你自身有权限的仓库,具体操作步骤如下:

  • 第一步:先在你使用的代码托管平台创建对应开源库的复刻仓库,确保你对该复刻仓库有写入权限。
  • 第二步:进入项目中的submodule目录,执行git remote -v查看当前远程地址,默认的origin地址会指向你没有推送权限的原开源库地址。
  • 第三步:修改submodule的origin远程地址为你的复刻仓库地址,执行命令:
    git remote set-url origin 你的复刻仓库地址
    如果后续你需要同步原开源库的更新,可以额外添加指向原库的远程源:
    git remote add upstream 原开源库地址
    之后拉取上游更新只需执行git pull upstream 对应分支名即可。
  • 第四步:确认远程地址修改无误后,在submodule目录下执行git push origin 对应分支名,即可将改动推送到你自己的复刻仓库。
  • 第五步:回到主项目根目录,执行git add 你的submodule目录路径,提交并推送主项目的更新,主项目就会关联到你复刻仓库的最新提交记录,其他协作者拉取主项目后即可获取到修改后的submodule代码。

补充说明:如果是多人协作开发该主项目,可以直接修改主项目根目录下的.gitmodules文件,将对应submodule的url字段替换为你的复刻仓库地址,提交该改动后,所有协作者拉取更新后执行git submodule sync即可自动同步submodule的远程地址,无需逐个手动修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 05:36:04