如何在同一Azure DevOps组织中跨两个团队项目实现代码合并推送
你完全不需要依赖Beyond Compare这类第三方工具做手动合并,Git原生功能以及Azure DevOps内置能力就可以实现同组织下跨团队项目的代码合并升级,下面是两种常用的实现方案:
方案1:Git原生手动同步(适合低频升级的场景)
操作步骤如下:
- 本地先克隆Prod团队项目的目标仓库:
git clone <Prod仓库的克隆地址> - 进入本地仓库目录后,添加Staging团队项目的对应仓库为额外的远程源,命名为staging:
git remote add staging <Staging仓库的克隆地址> - 拉取Staging仓库待升级分支(示例中为验证通过的主分支)的最新代码:
git pull staging main - 如果存在代码冲突,在本地解决冲突后执行commit提交
- 最后将合并后的代码直接推送到Prod的远程仓库即可:
git push origin main
方案2:Azure DevOps管道自动同步(适合高频升级的场景)
如果你们需要频繁将Staging验证通过的代码升级到Prod,可配置自动同步管道减少人工操作:
- 在Prod团队项目中新建一条同步管道,同组织下的Azure DevOps仓库支持跨项目直接拉取,无需额外的跨域配置
- 管道源绑定Staging团队项目的对应分支,设置触发条件为Staging分支有新的已验证提交时自动触发
- 管道中内置合并逻辑,无冲突时自动提交推送至Prod仓库,存在冲突时触发告警通知相关负责人手工处理即可
注意事项
- 如果两个仓库当前提交历史差异较大,建议第一次合并前先对齐代码基线,后续增量合并几乎不会出现非预期冲突
- 如果你使用的是TFVC而非Git作为代码仓库,也可以直接使用Azure DevOps内置的TFVC跨项目变更集合并功能完成操作,同样不需要第三方工具
内容的提问来源于stack exchange,提问作者hitman126
相关产品推荐
相关产品推荐

