【问题标题】:Visual Studio Team Services - Sync w/ Github RepositoryVisual Studio Team Services - 与 Github 存储库同步
【发布时间】:2019-03-16 15:26:35
【问题描述】:
我正在尝试使用 Visual Studio Team Services 存储库设置我的公司,并将其与私有 Github 存储库同步。我们中只有少数人从事技术方面的工作,但有些人喜欢使用 VSTS,有些人喜欢使用 Github。
到处的文档都说您可以同步两者。这样,在 Github 中所做的更改将显示在 Visual Studio Online 中,反之亦然。我正在学习说起来容易做起来难。
我已尝试按照 Microsoft 提供的说明进行操作,但没有找到任何解决问题的方法。我可以很容易地克隆现有的 Github 存储库,但是那里的更改不会同步到 VSTS 存储库。
我也尝试了以下说明:
How to synchronize VSTS and Github respositories when commits are made
构建通过了,它甚至显示了它已经拾取的提交。但是,新文件和/或任何更改根本不会出现在 VSTS 存储库中。
有人可以帮忙吗?
【问题讨论】:
标签:
git
visual-studio
github
visual-studio-2017
azure-pipelines
【解决方案1】:
从 Github 存储库同步 VSTS 存储库的简单方法。
- 将 GitHub 服务端点添加到您的 VSTS(设置 > 服务)
- 在您的 VSTS 中使用 GitHub 存储库 创建一个空构建定义
- 选择 Repository 选项卡并指定 Connection、Repository 和 Default 分支。 (如有必要,将 Clean 设置为 true)
- 选择触发器选项卡并选中持续集成、批量更改并指定分支过滤器
- 选择 选项 选项卡并选中允许脚本访问 OAuth 令牌
- 选择Build选项卡并添加命令行步骤/任务(工具:
[Git tool path];参数:push https://$(System.AccessToken)@[xxx].visualstudio.com/[teamproject]/_git/[repo name] HEAD:[branch];工作文件夹:$(Build.SourcesDirectory)
【解决方案2】:
如果您已经将 VSTS 添加为“origin”,则可以通过添加第二个远程源在同一目录中完成所有操作,然后运行:
git remote add github https://github.com/user/repo.git
然后你可以推送你对两个 repos 所做的更改
推送到 VSTS:
git push origin
然后推送到 GitHub
git push github
看到这个github doc page
如果您想自动执行此操作,您可能希望将其设置为机器上的计划任务,或者您可以将其连接到 VSTS 上的 git 挂钩?