我的代码位于私人Github.com repo中,也存放在私有的Microsoft Visual Studio Online git repo中。现在我想自动镜像/同步它们。因此,当我向Github检查某些内容时,它也会推送到VS Online,反之亦然。
我知道如何通过在我的本地仓库中添加额外的推送遥控器来实现这一目标'客户端'但有可能做到这一点'服务器端'太?使用Github Webhooks或Microsoft的东西?
因为否则我必须指示每个想要处理代码的人,添加两个遥控器,或者我错了吗?
答案 0 :(得分:1)
我们现在唯一能做的就是使用Zapier,它有一个免费的计划。就目前而言,从我所能找到的,没有办法通过Web钩子或任何其他方式将两者同步。
我会一直在寻找你,如果我发现任何不同,我会更新这个答案。
答案 1 :(得分:1)
选择选项选项卡,然后选中允许脚本访问OAuth令牌
选择“构建”选项卡,然后使用以下脚本添加PowerShell任务以同步所有分支。
git branch -r | findstr /v "\->" | ForEach-Object {$br=$_.TrimStart(); git branch --track $br.TrimStart("origin/") $br}
$repoName = "$env:BUILD_REPOSITORY_NAME".split('/')[1]
$repoUri = "$env:SYSTEM_TEAMFOUNDATIONCOLLECTIONURI".Substring(8)+ "_git/$repoName"
git remote add vsts "https://$env:SYSTEM_ACCESSTOKEN@$repoUri"
git branch -r | findstr /v "\->" | ForEach-Object { $br=$_.TrimStart(" origin/"); git push -u vsts $br }