【前言】
Github和Azure DevOps都提供了Git代码库功能,那么有没有办法将两边的代码库进行同步呢,答案是肯定的。
这里的操作我都是用Azure DevOps的Pipelines功能来完成的,当然用Github的Actions应该也能达到类似的效果,其他小伙伴们不妨尝试一下。
 
【从Azure DevOps到Github】
由于我个人平时习惯于用Azure DevOps存放代码,所以这里就先讲如何将你再Azure DevOps提交的代码同步到Github仓库
首先我们创建一个新的Pipeline,起名叫“Sync From Azure DevOps to GitHub”
 
因为这里是要同步Azure DevOps的代码,所以Connect下选择Azure Repo Git,不熟悉YAML的同学可以点击下方的Use the classic editor,就会变成一个图形化的设置界面
第二步,选择你的代码库,这里我选的是Ant-Design-Blazor

第三步,选择模板,这里图片截不下了,往下拉选择Starter pipeline

YAML内容如下,注意username里的‘@’要替换成‘%40’

关于如何编写Pipeline YAML可以参考微软的文档 https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema

 # Starter pipeline
# Start with a minimal pipeline that you can customize to build and deploy your code.
# Add steps that build, run tests, deploy, and more:
# https://aka.ms/yaml
variables: # pipeline-level
branch: 'azure_branch' trigger:
- master
pool:
vmImage: 'ubuntu-latest'
steps:
- script: |
git remote add github https://<username>:<password>@github.com/Brian-Ding/ant-design-blazor.git
git checkout -b $(branch)
git push -u github $(branch) displayName: 'Command Line Script'

【从Github到Azure DevOps】

前面的操作都和之前类似,只是记得Connect那一步要选择Github

 steps:
- script: |
mkdir sync
cd sync
git clone https://github.com/xxx/xxx.git
cd <github project>
git remote add azure https://<Azure DevOps Organization>:<token>@dev.azure.com/<Azure DevOps Organization>/<project>/_git/<repo.git>
git branch -D $(branch)
git checkout -b $(branch) git push -d azure $(branch)
git push -u azure $(branch) --force
displayName: 'Command Line Script'
 

Github和Azure DevOps的代码同步的更多相关文章

  1. 在推送提交之后阻止Azure DevOps (TFS)持续集成

    在Azure DevOps服务器上配置生成定义时,可以配置连续集成(CI)生成.每次签入或提交到源代码库时都会自动运行一个CI构建.这种机制允许开发人员启动一个自动化的过程,例如编译和部署构建.这是一 ...

  2. 从一个小Bug,到Azure DevOps

    1. 一个小Bug 最近和同事提起一个几年前的 Bug,那是一个很小很小的 Bug,没什么技术含量.那时候我刚入职,正好公司卖了一款仪器到某个国家,但是那边说配套的软件运行不起来,一打开就报错.经过排 ...

  3. [Azure Devops] 使用 Azure Repos 管理代码

    1. 什么是 Azure Repos Azure Repos 是一组版本控制工具,可用于管理代码.无论您的软件项目是大型项目还是小型项目,都应尽快使用版本控制. 版本控制系统是可帮助您跟踪随时间变化对 ...

  4. idea上实现github代码同步

    1.先将github远程仓库clone到本地 2.将本地仓库中的项目导入到idea中 3.如果你的项目代码不是放在仓库的根目录下,idea会识别到你的项目是在git仓库目录下,必须点击add root ...

  5. github使用及代码同步

    github是近两年比较火的分布式版本控制工具,很多nb的开源项目代码都托管在github上,比如Facebook.JQuery.Node.js等等,这里简单介绍一下github使用方法以及和本地工程 ...

  6. 如何将Azure DevOps中的代码发布到Azure App Service中

    标题:如何将Azure DevOps中的代码发布到Azure App Service中 作者:Lamond Lu 背景 最近做了几个项目一直在用Azure DevOps和Azure App Servi ...

  7. asp.net core webapi/website+Azure DevOps+GitHub+Docker

    asp.net core webapi/website+Azure DevOps+GitHub+Docker 新春开篇作,主要写一下关于asp.net core web/api 2.2 项目借助dev ...

  8. Azure DevOps Server(TFS): 在Excel中解除服务器同步

    通过Azure DevOps Server 提供与Excel集成的功能,用户可以非常便捷地使用Excel,实现工作项数据的同步. 对于需要批量处理数据.离线工作.制作临时报表的用户来说,这个功能必定成 ...

  9. Azure DevOps Server (TFS)中代码文件换行问题解决方案(Git)

    之前写过一篇博客"探索TFS Git 库文件换行(CRLF)的处理方式",主要是针对TFVC代码库的. 下面这篇文章说明如何在TFS的Git库中处理代码换行的问题. 概述 在Azu ...

随机推荐

  1. Cordova+ionic+angular 项目从 UIWebView 更换为 WKWebView ,通过IOS审核

    当前 cordova-ios 最新版本 5.1.1 新版本 cordova-ios 将删除 UIWebView 代码中的所有引用.WKWebView 将是 Cordova 的默认 Web 视图.   ...

  2. .gitignore文件详细说明

    简介 有些时候,你必须把某些文件放到 Git 工作目录中,但又不能提交它们,比如保存了数据库密码的配置文件.Java编译生成的.class文件.处理这个需求很简单,从不git add它们就可以.但这样 ...

  3. ElasticSearch系列之(一):介绍、安装(Docker、Windows、Linux)

    1.介绍 Elasticsearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java语言开发的,并 ...

  4. 小师妹学JavaIO之:文件File和路径Path

    简介 文件和路径有什么关系?文件和路径又隐藏了什么秘密?在文件系统的管理下,创建路径的方式又有哪些?今天F师兄带小师妹再给大家来一场精彩的表演. 文件和路径 小师妹:F师兄我有一个问题,java中的文 ...

  5. 09.Django-信号

    目录 Django中的信号及其用法 Django中内置的signal 内置信号的使用 自定义信号 Django中的信号及其用法 Django中提供了"信号调度",用于在框架执行操作 ...

  6. docker 容器命令

    语法docker run [OPTIONS] IMAGE [COMMAND] [ARG...] OPTIONS说明: -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/ST ...

  7. MQ系列(1)——rabbitMQ简介

    前文我们学习了 MQ的相关知识,现在我们来学习一下实现了AMQP协议的 rabbitMQ 中间件.rabbitMQ 是使用 erlang 语言编写的中间件(erlang之父 19年4月去世的,很伟大一 ...

  8. k8s的两种网络方案与多种工作模式[flannel与calico]

    k8s的两种网络方案与多种工作模式 1. Flannel: flannel有三种工作模式: 1. vxlan(隧道方案) 2. host-gw(路由方案) 2. udp(在用户态实现的数据封装解封装, ...

  9. linux环境下搭建Jenkins持续集成(Jenkins+git+shell+maven+tomact)

    准备环境 jenkins.war包 ,jdk1.8  ,tomact , maven,git 1.Jenkins  war包,下载地址https://jenkins.io/zh/download/  ...

  10. 学习Linux必须掌握的一个知识-i节点

    linux文件系统是Linux系统的心脏部分,提供了层次结构的目录和文件.文件系统将磁盘空间划分为每1024个字节一组,称为块(也有用512字节为一块的,如:SCOXENIX).编号从0到整个磁盘的最 ...