Wie kann ich das Git-Repository in TFS 2015 entfernen?

8

Ich versuche, ein Git-Repository in TFS 2015 Update 1 zu entfernen. Das Repository wird innerhalb eines vorhandenen TFVC-Teamprojekts mit dem neuen Git und TFVC im selben Projekt Funktion. Ich kann Git-Repositories jedoch einfach mithilfe des TFS-Portals erstellen (über die Registerkarte "Code"). Ich kann keine Funktion innerhalb des TFS-Portals oder der Befehlszeilenfunktion finden, um ein Git-Repository zu entfernen. Auch wenn ich durch 'Verwalte Repositories ...' navigiere, kann ich kein Feature namens 'Remove repository' finden.

Ich hatte kein Glück beim Suchen und Durchsuchen der MSDN-Seiten dazu.

Ich möchte also nicht das gesamte Teamprojekt entfernen (weil es viel Quellcode, Arbeitselemente und Verlauf enthält), sondern nur ein leeres Git-Repository.

Hat jemand einen Vorschlag?

Bearbeiten Sie # 1 Das Untermenü, das die Option "Repository löschen" in den Verwaltungsseiten anzeigen sollte, scheint nicht aktiviert zu sein, wenn nur ein Git-Repository in einem bestimmten Teamprojekt verbleibt (siehe Screenshot). Für den Rekord: Es ist sichtbar, wenn zwei oder mehr Git Repositories vorhanden sind.

    
Herman Cordes 04.03.2016, 10:50
quelle

3 Antworten

9

Ganz einfach, wenn es mehrere Git-Repos in einem Projekt gibt:

  1. Wählen Sie die Code-Registerkarte.
  2. Klicken Sie auf das Dropdown-Feld, in dem Ihre Repos angezeigt werden.
  3. Wählen Sie Repositories verwalten.
  4. Klicken Sie auf das Kontextmenü neben dem Repo, das Sie löschen möchten.
  5. Wählen Sie Repository löschen.

Bearbeiten (basierend auf Ihrer Bearbeitung):

TFS 2015 (Update 1) hat tatsächlich ein explizites Mindestlimit für die Anzahl der Git-Repos, die in einem TFS-Teamprojekt enthalten sind.

Die TFS-REST-API enthält Funktionen, die zusammen zum Löschen eines Git-Repos verwendet werden können, aber nicht den 'letzten' Repo im TFS-Projekt löschen.

Hier finden Sie die allgemeine API-Dokumentation

Zwei Funktionen zum Löschen eines Git Repos sind:

  1. Eine Liste der Repositorys abrufen

    (GET VERB) https: // {instanz} / defaultcollection / [{projekt}] / _apis / git / repositories? api-version = {version}

Wenn Sie einen Projektnamen angeben, wird json zurückgegeben, das eine Liste von Git-Repos und deren Repo-IDs enthält.

  1. Löschen Sie ein Repository , das bei Angabe einer Repo-ID den angegebenen Repo löscht.

    (DELETE VERB) https: // {instanz} / defaultcollection / _apis / git / repositories / {repository}? api-version = {version}

Leider gibt es einen Haken beim Aufruf der Lösch-Repo-Funktion:

%Vor%

Ausnahmedokumentation auf MSDN

Wenn ich den SQL-Server einer Laborinstanz betrachte, habe ich (meiner Meinung nach nicht unterstützt, wenn er in einer Produktumgebung missbraucht wird)

Die TFS-Datenbank enthält eine Stored Procedure, die git Repos mit dem Namen prc_DeleteGitRepositories löscht. Sie benötigt 4 Argumente, die ich entweder in der Datenbank gejagt oder F12 im Web-ui getroffen habe.

Es wird wie folgt aufgerufen:

%Vor%

Das wirft jedoch das folgende Szenario in dem Szenario, in dem nur 1 Git Repo in dem angegebenen Projekt vorhanden ist:

%Vor%

Um es zusammenzufassen: Ein potenzieller Feature-Antrag, der am besten für uservoice geeignet ist. a> wie in unseren Kommentaren zu diesem Q / A diskutiert.

    
Elmar 04.03.2016 17:15
quelle
2

bezüglich der Dokumentation der Verwaltung von Repos können Sie nicht

Sie können ein Repo nicht entfernen, wenn es das einzige Git Repo im Team-Projekt ist. Wenn Sie das einzige Git Repo in einem Team Project löschen müssen, erstellen Sie zuerst ein neues Git Repo und löschen Sie dann das Repo.

Sie benötigen Berechtigungen zum Löschen des Repository, um einen Repo aus einem Teamprojekt zu löschen.

werfen Sie einen Blick auf diesen Link: Ссылка

    
feras damra 04.09.2017 19:34
quelle
1

Sie können es nicht direkt aus der Benutzeroberfläche löschen, aber ich habe eine Problemumgehung für Sie: Erstellen Sie einfach einen anderen Repo, dann erhalten Sie eine Option zum Löschen.

Also alles in allem Wenn Sie mehrere Repos haben, können Sie eine davon löschen , aber wenn es nur eine gibt, kann sie nicht direkt von der Benutzeroberfläche gelöscht werden.

    
Abhinav Saxena 23.03.2017 11:16
quelle

Tags und Links