我正在尝试在TFS 2015 Update 1中删除Git存储库.存储库是在现有TFVC团队项目中使用新Git和TFVC在同一项目功能中创建的.但是,我可以轻松地使用TFS门户创建Git存储库(使用"代码"选项卡),我无法在TFS门户或基于命令行的功能中找到任何功能来删除Git存储库.此外,当我浏览"管理存储库..."时,我找不到名为"删除存储库"的功能.
我没有运气谷歌搜索和搜索MSDN页面.
所以我不想删除整个团队项目(因为它包含很多源代码,工作项和历史记录),但只有一个空的Git存储库.
有没有人有建议?
编辑#1 当只有一个Git存储库保留在特定团队项目中时,管理页面中应显示"删除存储库"选项的子菜单似乎没有启用(参见屏幕截图).对于记录:当存在两个或更多Git存储库时,它是可见的.
Elm*_*mar 12
实际上当项目中有多个git repos时非常简单:
编辑(根据您的编辑):
TFS 2015(更新1)确实具有针对TFS团队项目中包含的Git回购数量的明确最小限制.
TFS REST api包含的功能可以一起用于删除git repo,但它不会删除TFS项目中的"last" repo.
删除git repo涉及的两个功能是:
获取存储库列表
(GET VERB)https:// {instance}/defaultcollection/[{project}]/_apis/git/repositories?api-version = {version}
当给出项目名称时,返回包含git repos列表及其repo ID的json.
删除存储库,当给定存储库 ID时,将删除指定的存储库.
(DELETE VERB)https:// {instance}/defaultcollection/_apis/git/repositories/{repository}?api-version = {version}
不幸的是,在调用delete repo函数时有一个问题:
{
"$id": "1"
"innerException": null
"message": "There must always be at least one repository per Team Project."
"typeName": "Microsoft.TeamFoundation.Git.Server.GitRepositoryMinimumPerProjectThresholdExceededException, Microsoft.TeamFoundation.Git.Server, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
"typeKey": "GitRepositoryMinimumPerProjectThresholdExceededException"
"errorCode": 0
"eventId": 3000
}
Run Code Online (Sandbox Code Playgroud)
在实验室实例上查看SQL服务器(我认为如果在prod环境中误用,则不支持)
TFS数据库包含一个删除名为prc_DeleteGitRepositories的 git repos的存储过程,它需要4个参数,我在数据库中搜索或在web-ui上命中F12.
它被调用如下:
EXEC prc_DeleteGitRepositories @partitionId=1,
@teamProjectUri ='vstfs:///Classification/TestProject1/cbcc3093-247d-448a-8c3b-f5d447fc8afa',
@repositoryId='4111286D-D066-4F3D-89B9-960055D678FE',
@deleterId='769254d3-1f13-431c-a580-1500dcbffbce'
Run Code Online (Sandbox Code Playgroud)
但是,在指定项目中仅存在1个git repo的场景中,会引发以下情况:
Msg 50000, Level 16, State 1, Procedure prc_DeleteGitRepositories, Line 65
%error="1200013";%:<SERVERNAME>.TestCollection.dbo.prc_DeleteGitRepositories: There must always be at least one repository per Team Project.
Run Code Online (Sandbox Code Playgroud)
总结一下:如我们对此Q/A的评论中所讨论的,最适合用户发票的潜在功能请求.
小智 5
关于如何管理仓库的文档,您不能
如果它是团队项目中唯一的Git存储库,则不能删除该存储库。如果您需要删除团队项目中唯一的Git存储库,请首先创建一个新的Git存储库,然后删除该存储库。
您必须具有“删除存储库”权限才能从团队项目中删除存储库。
看一下这个链接:https : //www.visualstudio.com/zh-cn/docs/git/delete-existing-repo
| 归档时间: |
|
| 查看次数: |
7547 次 |
| 最近记录: |