从GitHub导入仓库到Azure DevOps时如何维持远程连接?
Azure DevOps 同步GitHub上游仓库说明
首先明确:Azure DevOps 本身支持与上游GitHub仓库维持连接并合并变更,你可以选择用平台内置功能实现自动同步,也可以选择本地手动操作,两种方式均可行。
方案1:使用Azure DevOps内置流水线实现自动同步(无需本地操作)
- 在当前Azure DevOps项目中新建流水线,源选择你导入的目标仓库
- 编辑流水线配置,添加Git同步步骤,参考配置如下:
steps: - checkout: self persistCredentials: true - script: | git remote add upstream https://github.com/上游仓库所有者/上游仓库名称.git git fetch upstream git checkout main git merge upstream/main --no-edit git push origin main displayName: 合并GitHub上游变更
- 你可以根据需求配置流水线触发规则,比如定时每日执行,或者配置GitHub Webhook实现上游有更新时自动触发同步。
提示:如果上游是私有仓库,需要在远程地址中配置有权限的访问令牌,或者提前在Azure DevOps中绑定GitHub服务连接。
方案2:本地手动合并操作
如果你不想配置流水线,也可以通过本地Git操作完成同步,步骤如下:
- 克隆你的Azure DevOps仓库到本地:
git clone https://dev.azure.com/你的组织名/你的项目名/_git/你的仓库名 - 进入本地仓库目录,添加上游GitHub仓库为远程源:
git remote add upstream https://github.com/上游仓库所有者/上游仓库名称.git - 每次需要同步时执行以下命令即可:
git fetch upstream git checkout 待同步的本地分支(例如main) git merge upstream/对应的上游分支 git push origin 本地分支名
注意:如果你的Azure DevOps仓库开启了分支保护策略,推送变更到目标分支前需要符合对应规则,例如提交PR、通过审批等。
内容的提问来源于stack exchange,提问作者Sean Hill
相关产品推荐
相关产品推荐

