是否有一种方法可以使用API合并一个分支?
我在这里看了看,但这似乎并没有为我提供我想要的东西(推动单个文件很乏味(:https://www.visualstudio.com/en-us/docs/integrate/api/git/pushes
我想,如果没有使用REST API的方法可以通过git命令通过私有构建代理上的powershell脚本进行操作?
no,在VSTS GIT或版本控制API中似乎没有任何合并操作。
使您拥有官方的"构建和发布步骤":"在脚本中运行git命令",这确实使您可以运行git命令,然后推回VSTS-GIT repo。
该页面具有一个带有合并示例的脚本(虽然简单的BAT脚本,而不是PowerShell的脚本(:
@echo off
ECHO SOURCE BRANCH IS %BUILD_SOURCEBRANCH%
IF %BUILD_SOURCEBRANCH% == refs/heads/master (
ECHO Building master branch so no merge is needed.
EXIT
)
SET sourceBranch=origin/%BUILD_SOURCEBRANCH:refs/heads/=%
ECHO GIT CHECKOUT MASTER
git checkout master
ECHO GIT STATUS
git status
ECHO GIT MERGE
git merge %sourceBranch% -m "Merge to master"
ECHO GIT STATUS
git status
ECHO GIT PUSH
git push origin
ECHO GIT STATUS
git status
首先,请参阅VONC的解决方案。
其次,您可以通过拉动请求REST API进行操作。(在构建/发布过程中创建拉动请求,将拉的请求状态更新为已完成(
作为VONC解决方案的后续,您需要授予VSTS构建服务帐户权限以贡献存储库。
- 在VSTS项目的菜单中,选择"版本控制"选项卡
- 关于所有GIT存储库的安全性,或者特定的GIT存储库选择"项目集合构建服务"
- 单击"允许"以"贡献"one_answers"创建分支"
注意:也需要阅读,但应该已经允许。
您还需要创建构建变量:system.prefergit并将该值设置为true。
这些步骤详细介绍了VONC提供的链接