Verwenden von Befehlen der Team Foundation-Versionskontrolle
Mit Versionskontrollbefehlen können Sie nicht nur fast alle Aufgaben ausführen, die in Visual Studio möglich sind, sondern auch viele Aufgaben, die in Visual Studio nicht möglich sind. Das tf.exe-Tool ermöglicht die Ausführung von Versionskontrollbefehlen über eine Eingabeaufforderung oder innerhalb eines Skripts.
Was möchten Sie tun?
Einen Befehl ausführen
Einen Entwickler-Computer einrichten
Eine App entwickeln
Die Arbeit anhalten
Arbeit hinzufügen
Dateien verwalten und Probleme lösen
Risiken isolieren
Die Befehlssyntax verstehen
Von einem Befehl betroffene Elemente angeben
Betroffene Elemente mit einem itemspec-Argument angeben
Betroffene Elementversionen mit einem versionspec-Argument angeben
Befehlsfunktionsänderungsoptionen verwenden
Mit der /noprompt-Option Dateneingabeanforderungen unterdrücken und Ausgabedaten zum Eingabeaufforderungsfenster umleiten
Mit der /login-Option beim Ausführen eines Befehls Anmeldeinformationen angeben
Mit der /lock-Option eine Sperre anwenden oder entfernen
Abkürzungen für Optionen verwenden
Exitcodes verstehen
Einen Befehl ausführen
Wählen Sie zum Starten der Visual Studio-Eingabeaufforderung unter Windows Start die Optionen Microsoft Visual Studio 2012, Visual Studio-Tools aus, und wählen Sie dann eine der Verknüpfungen zur Eingabeaufforderung aus.
In den meisten Fällen wird der Versionskontrollbefehl im Kontext eines Verzeichnisses ausgeführt, das im Arbeitsbereich zugeordnet ist. $/SiteApp/Main/ ist beispielsweise c:\code\SiteApp\Main\ zugeordnet. So rufen Sie die neueste Version aller Elemente im Arbeitsbereich ab:
c:\code\SiteApp\Main\SolutionA>tf get
Hinweis
Einige der Themen werden momentan nicht neu veröffentlicht.Sie können jedoch die Visual Studio 2010-Version dieser Themen lesen.
Einrichten des Entwickler-Computers und Verwalten von Arbeitsbereichen
Der Arbeitsbereich ist eine lokale Kopie der Team-Codebase. Da es sich um eine lokale Kopie auf dem Entwickler-Computer handelt, können Sie den Code isoliert entwickeln und testen, bis Sie bereit sind, die Arbeit einzuchecken. Im Folgenden werden einige Befehle zum Verwalten des Arbeitsbereichs aufgeführt:
Proxy Command (Visual Studio 2010)
WorkFold Command (Visual Studio 2010)
Workspace Command (Visual Studio 2010)
Workspaces Command (Visual Studio 2010)
Siehe auch: Einrichten der Team Foundation-Versionskontrolle auf dem Entwicklercomputer, Erstellen und Verwenden von Arbeitsbereichen
Eine App entwickeln
Verwenden Sie diese Befehle, um mit dem Team eine App unter Versionskontrolle zu entwickeln:
Befehl zum Hinzufügen
Fügt der Versionskontrolle Dateien und Ordner hinzu.Befehle zum Auschecken oder Bearbeiten
Checkt eine Datei aus und ändert den Status für ausstehende Änderungen in "Bearbeiten".Befehl Delete (Team Foundation-Versionskontrolle) (Visual Studio 2010)
Befehl zum Abrufen
Ruft die neueste Version oder eine angegebene Version einer oder mehrerer Dateien oder Ordner von Team Foundation Server im Arbeitsbereich ab (bzw. lädt diese herunter).Befehl Rename (Team Foundation-Versionskontrolle) (Visual Studio 2010)
Befehl für den Status
Zeigt Informationen über ausstehende Änderungen für Dateien und Ordner in einem oder mehreren Arbeitsbereichen oder in einem Shelveset an.Befehl zum Rückgängig machen
Verwirft eine oder mehrere ausstehende Änderungen für Dateien oder Ordner.Undelete Command (Visual Studio 2010)
Siehe auch: Entwickeln von Apps in der Team Foundation-Versionskontrolle
Die Arbeit anhalten
Aus unterschiedlichen Gründen ist es manchmal erforderlich, laufende Arbeiten vorübergehend ganz oder teilweise zurückzustellen. Verwenden Sie zum Anhalten und Fortsetzen der Arbeit sowie zum Verwalten von Shelvesets folgende Befehle:
Befehl Shelve (Visual Studio 2010)
Shelvesets Command (Visual Studio 2010)
Befehl Unshelve (Visual Studio 2010)
Siehe auch: Unterbrechen der Arbeit und Verwalten von Shelvesets.
Arbeit hinzufügen
Im Folgenden wird gezeigt, wie Sie Code in die Team-Codebase einchecken:
- Befehl Checkin
Checkt ausstehende Änderungen für Dateien oder Ordner auf dem Server ein.
Siehe auch: Einchecken von Arbeit in die Team-Codebase
Dateien verwalten und Probleme lösen
Anzeigen und Verwalten von Dateien und Ordnern unter Versionskontrolle
Befehl Properties (Visual Studio 2010)
Befehl Property (nicht dokumentiert)
Dir Command (Visual Studio 2010)
Destroy Command (Visual Studio 2010)
LocalVersions Command (Visual Studio 2010)
Siehe auch: Verwenden des Quellcodeverwaltungs-Explorers zum Verwalten von Dateien unter Versionskontrolle
Anzeigen und Verwalten früherer Versionen
Changeset Command (Visual Studio 2010)
Befehl für den Verlauf
Zeigt den Verlauf für Dateien und Ordner an.Label Command (Visual Studio 2010)
Labels Command (Visual Studio 2010)
Rollback Command (Visual Studio 2010)
Unlabel Command (Visual Studio 2010)
View Command (Visual Studio 2010)
Siehe auch: Anzeigen und Verwalten früherer Versionen
Vergleichen von Ordnern und Dateien
Difference Command (Visual Studio 2010)
Folderdiff Command (Visual Studio 2010)
Siehe auch: Anzeigen und Verwalten früherer Versionen
Lösen von Dateikonflikten
Resolve Command (Visual Studio 2010)Siehe auch: Lösen von Konflikten der Team Foundation-Versionskontrolle.
Arbeiten mit Versionskontrollsperren
Lock Command (Visual Studio 2010)Siehe auch: Arbeiten mit Versionskontrollsperren.
Risiken isolieren
Verwenden Sie die folgenden Befehle, um Risiken mit Verzweigungen zu isolieren:
Branch Command (Visual Studio 2010)
Branches Command (Visual Studio 2010)
Merge Command (Visual Studio 2010)
Merges Command (Visual Studio 2010)
Siehe auch: Verwenden von Verzweigungen zum Isolieren von Risiken in der Team Foundation-Versionskontrolle.
Verwalten der Versionskontrolle
Verwenden Sie die folgenden Befehle, um das Versionskontrollsystem zu verwalten:
Configure Command (Visual Studio 2010)
Permission Command (Visual Studio 2010)
Siehe auch: Verwalten der Team Foundation-Versionskontrolle (Visual Studio 2010).
Hilfe zu Versionskontrollbefehlen
Verwenden Sie die folgenden Befehle, um weitere Informationen zu Versionskontrollbefehlen zu erhalten:
Help Command (Visual Studio 2010)
Msdn Command (Visual Studio 2010)
Die Befehlssyntax verstehen
Die Syntax eines jedes Befehls wird oben im jeweiligen Referenzthema angezeigt.
Erforderliche und optionale Argumente
Argumente, die nicht in eckigen Klammern eingeschlossen sind, sind erforderlich. [Brackets] stehen für optionale Argumente, die nicht zum Ausführen von Befehlen erforderlich sind. Einige optionale Argumente weisen jedoch Standardwerte auf, die für den Befehl angewendet werden, auch dann, wenn die Option nicht angegeben ist.
Exklusive Argumente
Sind Optionen durch eine Pipe (|) getrennt, können Sie eine der Optionen angeben.
Wörtliche und austauschbare Argumente
Fett formatierte Elemente sind Optionen, die wörtlich eingefügt werden. Kursiv formatierte Elemente sind Argumente, die durch tatsächliche Zeichen ersetzt werden müssen, um einen Befehl auszuführen.
Befehlsverknüpfungen und -aliase
Einige Befehle unterstützen Verknüpfungen. Beispielsweise können Sie den Löschbefehl entweder mit tf delete oder mit tf del aufrufen.
Beispiel
Nachfolgend sehen Sie ein Beispiel von dem Auscheckbefehl:
tf checkout [/lock:( none|checkin|checkout)] [/recursive] itemspec [/login: username,[ password]]
Kommen wir nun zu den Argumenten dieses Beispiels:
itemspec: Sie müssen dieses Argument durch eine itemspec ersetzen, die die Elemente angibt, die Sie auschecken.
/lock:(none|checkin|checkout): Die /lock-Option muss nicht angegeben werden. Wird diese nicht angeben, wird standardmäßig /lock:none angegeben. Andernfalls können Sie eine der Sperroptionen angeben.
Die folgenden Argumente sind optional. Werden diese nicht bereitgestellt, werden keine ihrer Effekte auf den Befehl angewendet:
/recursive: Wenn Sie mehrere Elemente in einem Ordner rekursiv auschecken möchten, muss diese Option wörtlich angegeben werden.
/login:Benutzername,Kennwort: Wenn Sie den Befehl unter einem anderen Benutzernamen ausführen möchten, müssen Sie die /login-Option wörtlich angeben, Benutzername durch den Namen des Benutzers ersetzen und bei Bedarf das Kennwort angeben.
Von einem Befehl betroffene Elemente angeben
Sie können itemspecs und versionspecs verwenden, um die von einem Befehl betroffenen Elemente anzugeben.
Betroffene Elemente mit einem itemspec-Argument angeben
Mit itemspec (Elementspezifikation) werden die von einem Befehl betroffenen Elemente angegeben. Elemente können entweder auf einem Clientcomputer oder auf dem Team Foundation Server angegeben werden. Sie können Platzhalterzeichen wie * und ? verwenden.
Client itemspec-Argumente
Ein Server itemspec-Argument gibt einen Pfad zu Elementen auf einem Clientcomputer an, wie etwa einem Ordner (z. B. c:\code\SiteApp\Main\SolutionA\), einer Datei (z. B. c:\code\SiteApp\Main\SolutionA\Project1\program.cs) oder mehreren Dateien (z. B. c:\code\SiteApp\Main\SolutionA\*.cs). Sie können auch UNC-Pfade angeben, z. B. \\myshare\code\SiteApp\Main.
Server itemspec-Argumente
Ein Server itemspec-Argument gibt einen Pfad zu Elementen auf dem Team Foundation Server an, wie etwa einem Ordner (z. B. $/SiteApp/Main/SolutionA) einer Datei (z. B. $/SiteApp/Main/SolutionA/Project1/program.cs) oder mehreren Dateien (z. B. $/SiteApp/Main/SolutionA/*.cs).
Server-itemspec-Argumente werden in der Regel zum Ausführen von Befehlen für Elemente außerhalb des Clientcomputers verwendet. Beispiel: Sie arbeiten mit einem Entwicklercomputer und müssen Revisionsverlaufsdaten zu Elementen in einer Teamprojektauflistung abrufen, in der Sie nicht arbeiten:
c:\>tf history /collection:http://fabrikam-3:8080/tfs/DefaultCollection
$/SiteApp/Main/SolutionA/Project1/* /recursive
/noprompt
Mehrere itemspec-Argumente
Für einige Befehle können mehrere itemspec-Argumente angegeben werden. Beispiel:
c:\code\SiteApp\Main\SolutionA\Project1\>tf checkout program1.cs program2.c
Checkt program.cs und program2.c aus.
Betroffene Elementversionen mit einem versionspec-Argument angeben
Mit versionspec (Versionsspezifikation) wird die Version der von einem Befehl betroffenen Elemente angegeben. versionspec kann folgendermaßen bereitgestellt werden:
Verwenden Sie die /version-Option. Beispiel: /version:C44.
Fügen Sie die versionspec mit einem Semikolon an eine itemspec an. Beispiel: program1.cs;C44.
Wenn Sie die Befehle Befehl für den Verlauf oder Difference Command verwenden, können Sie einen Bereich von Versionen angeben, indem Sie die Versionen mit einer Tilde (~) trennen. Beispiel:
c:\code\SiteApp\Main\SolutionA>tf history /noprompt * /recursive /v:D4/12/2012~D4/24/2012
Verwenden Sie zum Angeben von versionspec die folgende Syntax.
Typ |
Syntax |
Beschreibung |
---|---|---|
Changeset |
[C]n |
Gibt Elemente auf Grundlage einer Changesetnummer an. Wurde ein Element, das sich im Gültigkeitsbereich befindet, nicht im angegebenen Changeset geändert, wird die neueste Version des Elements übernommen, das vor dem angegebenen Changeset vorhanden war. Tipp Wenn Sie nur eine Zahl angeben, können Sie C auslassen. Beispiele
– oder –
– oder –
Wurde "readme.txt" in Changeset 8 geändert, wird diese Dateiversion abgerufen. Andernfalls wird die neueste Version dieser Textdatei vor Version 8 abgerufen. |
Bezeichnung |
Llabel |
Gibt Elemente an, auf die label angewendet wurde. Beispiele
Ruft die "readme.txt"-Version mit der Bezeichnung JulyHotFix ab.
Ruft die Version aller Elemente mit Bezeichnung ab (und löscht Elemente ohne Bezeichnung), die im Arbeitsbereich vorhanden waren, als das Changeset mit der Bezeichnung LastKnownGood erstellt wurde, z. B. als Teil eines automatisierten Buildprozesses. |
Datum und Uhrzeit |
Dyyyy-mm-ddTxx:xx – oder – Dmm/dd/yyyy – oder – Irgendein von .NET Framework unterstütztes Format. – oder – Irgendein auf dem lokalen Computer unterstütztes Datumsformat. |
Gibt ein Changeset an, das zu einem angegebenen Datum und zu einer angegebenen Uhrzeit erstellt wurde. Beispiele
Aktualisiert den Arbeitsbereich entsprechend der am 22.03.2004 um 00:00 Uhr vorhandenen Codebase.
Aktualisiert den Arbeitsbereich entsprechend der am 22.03.2004 um 09:00 Uhr vorhandenen Codebase. Weitere Informationen zu den von .NET Framework unterstützten Datums- und Uhrzeitformaten finden Sie unter DateTime und unter Standard-Formatzeichenfolgen für Datum und Uhrzeit. |
Arbeitsbereich (aktuell) |
W |
Gibt die Version im Arbeitsbereich an. |
Arbeitsbereich (angegeben) |
Wworkspacename; workspaceowner |
Gibt die Version in einem angegebenen Arbeitsbereich an. Beispiel: WResolveRIConflicts;PeterW |
Tipp |
T |
Gibt die neueste Version an. |
Befehlsfunktionsänderungsoptionen verwenden
Befehlsfunktionen können durch allgemeine Optionen geändert werden.
Mit der /noprompt-Option Dateneingabeanforderungen unterdrücken und Ausgabedaten zum Eingabeaufforderungsfenster umleiten
Verwenden Sie die /noprompt-Option, um Dateneingabeanforderungen zu unterdrücken und Ausgabedaten zum Eingabeaufforderungsfenster umzuleiten. Diese Option kann hilfreich sein, wenn Sie Versionskontrollbefehle in einem Skript verwenden müssen, weil der Befehl ohne Intervention durch einen Benutzer fortschreitet und die Daten dem Skript für Vorgänge, z. B. eine Analyse oder Erfassung, zur Verfügung stehen.
Wenn Sie diese Option verwenden, geschieht Folgendes:
Sämtliche Eingabeanforderungen werden unterdrückt:
Es werden keine Fragen im Eingabeaufforderungsfenster angezeigt. Verwenden Sie beispielsweise den Befehl zum Rückgängig machen mit dieser Option, werden Sie nicht dazu aufgefordert, das Rückgängigmachen der Änderungen zu bestätigen.
Es werden keine Fenster und Dialogfelder angezeigt. Diese Option kann z. B. mit dem Befehl Checkin verwendet werden. Anstatt das Dialogfeld Einchecken zum Bestätigen der Optionen (welche Elemente eingecheckt werden sollen oder welche Arbeitsaufgaben zuzuordnen sind) anzuzeigen, wird das Einchecken ohne Bestätigung fortgesetzt.
Leitet Ausgabedaten zur Eingabeaufforderung um. Diese Option kann z. B. mit dem Befehl für den Verlauf verwendet werden. Die Daten werden nicht im Fenster "Versionsgeschichte" angezeigt, sondern im Eingabeaufforderungsfenster.
Mit der /login-Option beim Ausführen eines Befehls Anmeldeinformationen angeben
Mit der /login-Option wird das Team Foundation Server-Benutzerkonto angegeben, unter dem ein Befehl ausgeführt wird. Diese Option kann hilfreich sein, wenn Sie auf dem Computer eines anderen Teammitglieds arbeiten.
So arbeitet beispielsweise Julia mit Peter auf seinem Entwickler-Computer. Mit dem Sperrbefehl entsperrt sie eine Datei, die sie zuvor gesperrt hatte:
c:\code\SiteApp\Main> tf lock /lock:none program.cs /login:JuliaI,JuliaPassword
Um zu vermeiden, dass ihr Kennwort in der Eingabeaufforderung angezeigt wird, kann sie den Befehl ohne Kennwort eingeben:
c:\code\SiteApp\Main> tf lock /lock:none program.cs /login:JuliaI
Nachdem sie diesen Befehl eingegeben hat, wird sie in einem Dialogfeld, das die Eingabe maskiert, zum Eingeben des Kennworts aufgefordert.
Mit der /lock-Option eine Sperre anwenden oder entfernen
Wichtig
Verwenden Sie als empfohlene Vorgehensweise die /lock-Option mit Vorsicht, und informieren Sie Ihre Teamkollegen darüber, warum Sie ein Element sperren und wann Sie planen, die Sperre zu entfernen.
Die /lock-Option ermöglicht das Anwenden oder Entfernen einer Sperre, während gleichzeitig ein anderer Befehl ausgeführt wird, wie z. B. Hinzufügen oder Bearbeiten.
/lock:(none|checkin|checkout)
None: Für das Element wird keine Sperre festgelegt. Wenn bereits eine Sperre vorhanden ist, wird sie aufgehoben.
Checkin oder Checkout: Wendet eine Sperre an. Siehe Verstehen von Sperrtypen.
Hinweis
In einigen Fällen kann ein Fehler beim Sperrvorgang auftreten:
-
Wenn andere Benutzer eines der angegebenen Elemente gesperrt haben, tritt beim Sperrvorgang ein Fehler auf.
-
Das System ignoriert diesen Wechsel, wenn es für dieses Element bereits eine ausstehende Änderung gibt.In diesem Fall müssen Sie Lock Command verwenden, um die Sperre bei einem Element zu ändern.
Abkürzungen für Optionen verwenden
Sie können die folgenden Optionen abkürzen.
Option |
Optionsalias |
---|---|
/comment |
-C |
/computer |
-M |
/delete |
-D |
/force |
-P |
/format |
-F |
/help |
-?, -H |
/lock |
-K |
/login |
-Y |
/newname |
-N |
/noprompt |
-I |
/owner |
-O |
/recursive |
-R |
/server |
-S |
/slotmode |
-X |
/template |
-T |
/user |
-U |
/version |
-V |
/workspace |
-W |
Exitcodes verstehen
Versionskontrollbefehle geben die folgenden Exitcodes zurück:
Exitcode |
Definition |
---|---|
0 |
Erfolgreich. |
1 |
Ein partieller Erfolg bedeutet, dass nicht alle und möglicherweise kein Vorgang erfolgreich ausgeführt werden konnte. |
2 |
Nicht erkannter Befehl. |
100 |
Kein Vorgang konnte erfolgreich ausgeführt werden. |
Beispiel:
c:\code\SiteApp\Main\SolutionA\Project1\>tf checkout program1.cs program2.c
Sollte eine der auszucheckenden Dateien nicht auf dem Server vorhanden sein, wird von dem Befehl 1 für einen partiellen Erfolg zurückgegeben.