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

如何将独立本地Git仓库推送到远程仓库的子文件夹中?

用Git Subtree将多个本地仓库合并到单个远程仓库的方案

完全可以用Git Subtree实现你的需求,把两个独立本地仓库分别放到远程仓库的不同子目录下,以下是具体操作步骤:

初始化主仓库并关联远程

  • 新建一个本地主仓库文件夹(比如main-repo),进入后执行:
    git init
    git remote add origin <你的远程仓库地址>
    

添加第一个本地仓库作为Subtree

假设第一个本地仓库路径为../local-repo-1,要放到远程的repo-1子目录:

git subtree add --prefix=repo-1 ../local-repo-1 <目标分支名>

注:<目标分支名>替换成第一个本地仓库的默认分支(比如main或master)。

推送到远程仓库

git push origin main

添加第二个本地仓库作为Subtree

假设第二个本地仓库路径为../local-repo-2,要放到远程的repo-2子目录:

git subtree add --prefix=repo-2 ../local-repo-2 <目标分支名>

再次推送到远程完成合并

git push origin main

后续维护操作

推送子仓库的本地更新

如果修改了某个子仓库的内容,提交到主仓库后,执行以下命令推送到远程对应子目录:

git subtree push --prefix=repo-1 <远程仓库地址> <目标分支名>

拉取远程子仓库的更新

如果远程子目录有其他修改,执行以下命令同步到本地主仓库:

git subtree pull --prefix=repo-1 <远程仓库地址> <目标分支名>

注意事项

  • 确保两个子仓库的文件路径完全独立,避免在主仓库中出现文件冲突。
  • 主仓库会保留每个子仓库的完整提交历史,不会相互混淆。
  • 后续若客户同意新增仓库,可通过git subtree split命令将子目录导出为独立Git仓库,迁移成本低。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 14:48:16