Lokalen Ordner in TFS löschen

128

Ich bin Teil eines großen Projekts, das von TFS zugeordnet wurde. In diesem Projekt befindet sich ein Ordner, an dem ich die Arbeit beendet habe. Ich möchte diesen Ordner nicht mehr, daher möchte ich meine lokale Kopie löschen. Das Problem ist, dass TFS die Änderung spiegeln und den Ordner aus der Quellcodeverwaltung löschen möchte. Ich möchte ihn nicht aus TFS entfernen.

Die einzige Möglichkeit, dies zu tun, besteht darin, die Zuordnung des Arbeitsbereichs aufzuheben und dann alle anderen Ordner abzurufen, an denen ich arbeiten muss.

Kann ich diesen Ordner trotzdem einfach lokal löschen?

James Barrass
quelle
Können Sie weitere Informationen geben, z. B. Welche Version von TFS und welche Version von Visual Studio verwenden Sie? Verwenden Sie Server oder lokale Arbeitsbereiche?
James Reed
@JamesReed VS2008 mit Kompatibilitätspatch, VS2010 und VS2012. TFS 2012. Lokale Arbeitsbereiche (separate Arbeitsbereiche pro Visual Studio-Version)
James Barrass

Antworten:

278

Dies ist ein älterer Beitrag, aber da mir die einzig gegebene Antwort "nicht ganz richtig" erscheint, möchte ich trotzdem antworten: Ich habe darüber (auf Deutsch) hier gebloggt : blog.nils-andresen.de

Wenn Sie eine lokale Kopie haben, die Sie wie folgt abrufen oder herunterladen möchten:

Geben Sie hier die Bildbeschreibung ein

Klicken Sie einfach mit der rechten Maustaste auf den Ordner und dann auf " Bestimmte Version abrufen " oder "Erweitert> Bestimmte Version abrufen " und geben Sie Änderungssatz 1 an .

Hier ist der Grund für die TFS-Top-Tipps von Martin Woodward :

... Wenn Sie eine "Get Specific Version ..." für die Dateien ausführen und Changeset 1 auswählen, werden die Dateien lokal gelöscht und der Server weiß dies. Die Farbe der Datei im Versionsverwaltungs-Explorer wechselt von Schwarz zu Grau und in der letzten Spalte wird der Ausdruck "Nicht heruntergeladen" angezeigt.

Änderungssatz 1 ist ein spezieller Änderungssatz auf Ihrer Team Foundation Server-Instanz. Es wurde als Teil der Setup-Routine erstellt und enthält nur eines - den Stammknoten ($ /) in Ihrem Versionsverwaltungsbaum. Wenn Sie für Changeset 1 eine Aktualisierung für tatsächliche Dateien durchführen, sind diese zu diesem Zeitpunkt auf dem System nicht vorhanden und werden lokal gelöscht, und der Server weiß dies.

Spezifische Version abrufen - Dialogfeld

Wenn der Vorgang abgeschlossen ist, wird in der Spalte "Neueste" "Nicht heruntergeladen" angezeigt.

Geben Sie hier die Bildbeschreibung ein

Danach können alle verbleibenden Dateien im Dateisystem sicher entfernt werden.

Nils
quelle
5
Das Tarnen hat ziemlich gut funktioniert, aber ich hatte mehr Erfolg mit dieser Methode und sie ist einfacher.
Nelson Rothermel
5
Ich bevorzuge diesen Ansatz sehr. Dies erfordert nicht, dass ich mich an "Umhang" und "Aktivieren" zu einem späteren Zeitpunkt erinnere, wenn ich dieses Projekt möglicherweise erneut benötige. Ich kann nur die neueste Version bekommen und es kann losgehen.
unentdeckt
6
Sieht nach einem guten Hack aus. Warum erstellt MS keine intuitiven Benutzeroberflächen? wie der einfache Befehl "Lokale Kopie entfernen" und mein Favorit "Erweitert> Spezifische Version abrufen". Seit wann ist "Get Specific Version" fortgeschritten? Sie müssen super dumme Entwickler im Haus haben, wenn dies für sie fortgeschritten ist. Wie auch immer, danke für diese Antwort (ich kann TFS nicht ausstehen [svn / git Benutzer hier])
Pawel Cioch
4
Dies funktioniert auch, wenn Sie den lokalen Ordner bereits gelöscht haben und versuchen, das von Ihnen verursachte Durcheinander zu beseitigen.
Hutch
2
Befehlszeilenäquivalent: tf vc get <itemspec> / version: c1 / recursive / overwrite / force
Brain2000
8

Sie können verhüllen die Ordner in Ihrem lokalen Arbeitsbereich.

Indem Sie den Status des Arbeitsordners auf Cloaked setzen, können Sie festlegen, dass ein lokaler Ordner keine Dateien vom Server kopieren soll, wenn Sie einen Abrufvorgang ausführen. Sie können dies tun, um Speicherplatz auf Ihrer lokalen Festplatte zu sparen. Wenn Sie später entscheiden, dass Sie Dateien in diesen getarnten Ordnern abrufen müssen, müssen Sie den Status in Aktiv ändern und dann einen Abrufvorgang ausführen.

Eric Johnson
quelle
4
Nur um das hinzuzufügen. Um zum ursprünglichen Zustand von Mapped zurückzukehren, jedoch ohne get (grau im Versionsverwaltungs-Explorer), löschen Sie alle Reste aus dem Umhang und entfernen Sie sie dann. TFS fragt Sie, ob Sie jetzt einen Get durchführen möchten. Klicken Sie auf Nein.
James Barrass
5
Ich ging mit Tarnung statt Entladen. Ich bin es gewohnt, "Get Latest" auf der obersten Ebene auszuführen, und das Tarnen verhindert dabei das erneute Herunterladen bestimmter Ordner.
Rudey