Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Git存储库与集成在VSTS中的Git同步_Git_Github_Version Control_Azure Devops_Devops - Fatal编程技术网

将Git存储库与集成在VSTS中的Git同步

将Git存储库与集成在VSTS中的Git同步,git,github,version-control,azure-devops,devops,Git,Github,Version Control,Azure Devops,Devops,我想知道是否有任何方法可以将Git存储库与与VST集成的Git同步。例如,假设我有一个Git存储库“”,并且我已经在VSTS中导入了这个Git repo。现在,我的VSTS Git存储库URL显示“” 我想同步这两件事,并随时更新。就像我在直接Git回购中做任何更改一样,它应该反映在VSTS Git存储库中。即使是通过任何构建定义或任何拉取请求,也没关系 有人能帮我吗 您需要有或(在Visual Studio上)才能接收推送事件 您还需要编写并安装一个侦听器,该侦听器将侦听web/服务挂钩作为J

我想知道是否有任何方法可以将Git存储库与与VST集成的Git同步。例如,假设我有一个Git存储库“”,并且我已经在VSTS中导入了这个Git repo。现在,我的VSTS Git存储库URL显示“

我想同步这两件事,并随时更新。就像我在直接Git回购中做任何更改一样,它应该反映在VSTS Git存储库中。即使是通过任何构建定义或任何拉取请求,也没关系

有人能帮我吗

您需要有或(在Visual Studio上)才能接收推送事件

您还需要编写并安装一个侦听器,该侦听器将侦听web/服务挂钩作为JSON负载发送的推送事件(请参阅或)。
,它们有自己的倾听者


从一个远程回购接收推送事件后,您可以从中提取,然后推送到另一个。但请注意,当从一个回购协议推送到另一个回购协议时,同一分支上的任何并发开发都可能导致冲突。这种方法在每个回购协议上使用不同的分支时有效。

也可以通过创建构建定义从GitHub中提取更改,然后将更改推送到VSTS Git来实现。以下是供您参考的步骤:

git remote add vstsg ssh://vstsaccount@vstsaccount.visualstudio.com:22/VSTSProjectName/_git/VSTSGitRepoName  2>&1 | Write-Host

git checkout -b master  2>&1 | Write-Host

git push vstsg master  2>&1 | Write-Host
  • 然后生成一个SSH密钥
  • 为您的VSTS Git Repo启用,这样您就不需要在构建定义中输入用户名和密码。如果要使用替代凭据,可以跳过步骤1和步骤2
  • 创建构建定义并选择GitHub作为存储库
  • 在构建定义中启用“持续集成(CI)”选项,以便在GitHub中提交新更改时立即触发构建
  • 在生成定义中添加PowerShell脚本,以将VSTS Git添加为远程并将更改推送到它
  • 现在,当您在GitHub中提交更改时,应该会看到触发了构建,然后构建将从GitHub中提取更改并将其推送到VSTS Git。 PowerShell代码供您参考:

    git remote add vstsg ssh://vstsaccount@vstsaccount.visualstudio.com:22/VSTSProjectName/_git/VSTSGitRepoName  2>&1 | Write-Host
    
    git checkout -b master  2>&1 | Write-Host
    
    git push vstsg master  2>&1 | Write-Host
    

    这似乎比我的答案更准确+1您好,请您帮助解释如何实现此vise vera,例如从VSTS git repo同步到github repo…@Jawad在步骤3中,选择VSTS git作为存储库,并在powershell脚本中,将更改推送到github。您得到了有助于解决问题的答案吗?如果是,请标记它。它将帮助其他有类似问题的人。