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

如何实现提交在多个Git仓库间流转?跨仓库提交操作求助

跨Git服务器中转提交代码的实操方案

chain git

问题背景

笔记本没VPN权限,连不上台式机,得靠中间Git服务器(仓库C)把代码提交到目标仓库B,但之前从仓库A拉B的代码后推去C失败了。

一步步解决

  1. 给中间仓库C加目标仓库B的远程地址
    登到仓库C所在的服务器,进到裸仓库目录里,跑这条命令:

    git remote add upstream <仓库B的完整地址>
    

    upstream是自定义的远程名称,用来指代目标仓库B即可。

  2. 本地仓库配置中间仓库C的远程
    在笔记本上从仓库A克隆B的代码后,给本地仓库加个指向C的远程:

    git remote add middle <仓库C的完整地址>
    

    之后正常进行本地代码提交:

    git add .
    git commit -m "你的提交备注"
    
  3. 推代码到中间仓库C
    把本地代码推去C:

    git push middle <你的分支名>
    

    如果推送失败,先确认C是裸仓库(只有裸仓库能接收推送),不是的话删掉重建:

    git init --bare <仓库名.git>
    
  4. 从C同步到目标仓库B
    再登到仓库C的服务器,进到裸仓库目录,把代码推去B:

    git push upstream <你的分支名>
    

    嫌手动同步麻烦的话,在C的hooks文件夹里建个post-receive脚本,内容如下:

    #!/bin/sh
    git push upstream <你的分支名>
    

    然后给脚本加执行权限:

    chmod +x post-receive
    

    这样以后每次推代码到C,它会自动同步到B。

踩坑排查

  • 推送失败如果提示权限问题,先检查C的访问权限(SSH密钥、账号密码是否正确),以及C能不能正常访问B。
  • 确认本地分支和远程分支名称一致,或者推送时明确指定分支对应关系。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 18:42:16