azure - 使用 Powershell 删除 Azure DevOps 上的分支

标签 azure powershell azure-devops azure-powershell azure-repos

我尝试使用 Powershell 从 Azure DevOps 中删除 x 天前的旧分支,但没有成功。您能帮我解决这个问题吗?或者如果您有更好的想法来执行这项任务,我非常欢迎听取他们的意见!我已经坚持了几个星期了。

谢谢。

最佳答案

Deleting branches on Azure DevOps with Powershell

您可以使用 REST API 删除这些分支。

但是,我们不建议您这样做。使用脚本删除一些旧分支并不安全,因为脚本无法判断该分支是否重要,但根据日期删除是有风险的。所以删除之前你需要清楚这一点。

首先,我们可以使用 REST API Refs - List列出存储库的所有分支:

GET https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/refs?api-version=6.0

然后,我们使用 REST API 循环每个分支 Commits - Get Commits :

GET https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/commits?&searchCriteria.compareVersion.version=<YouBranchName>&api-version=6.0

并比较创建日期或激活日期,使用 REST API 删除这些分支:

POST https://dev.azure.com/{organization name}/{project name}/_apis/git/repositories/{repositoryId}/refs?api-version=5.1

请求正文:

[  
  {     
    "name": "{branchName}",     
    "oldObjectId": "{branchObjectId}",     
    "newObjectId": "0000000000000000000000000000000000000000"       
  } 
] 

或者,如果您想使用 git 命令行删除,您可以引用以下文档了解更多详细信息:

Deleting Old Local Branches With PowerShell

关于azure - 使用 Powershell 删除 Azure DevOps 上的分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67215397/

相关文章:

PowerShell - 网络使用不起作用 - 变量问题

azure-devops - 在 Azure DevOps 中重用 PowerShell 脚本

python-3.x - python 包未通过 CI/CD 管道安装,导入错误,找不到包

azure - 持续发布成功但网站没有变化

azure - 使用 Terraform 的 Azure 数据工厂诊断设置的资源特定目标表

c# - azure 函数 - 如何安排可能取消的工作

基于Azure webjobs计划,何时关闭主机?

PowerShell 如何自动重启服务?

cordova - Azure 通知中心向 APNS 推送通知有一半时间失败

powershell - 从 PowerShell 调用 Get-AuthenticodeSignature 的结果不一致,通常说 NotSigned