我尝试使用 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 命令行删除,您可以引用以下文档了解更多详细信息:
关于azure - 使用 Powershell 删除 Azure DevOps 上的分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67215397/