Verwenden von Befehlen der Team Foundation-Versionskontrolle

Azure Repos | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 | TFS 2017 | TFS 2015 | VS 2017 | VS 2015 | VS 2013

Sie können Versionskontrolle-Befehle verwenden, um nahezu alle Aufgaben auszuführen, die Sie in Visual Studio ausführen können, und auch mehrere Aufgaben, die in der Versionskontrolle nicht Visual Studio. Sie können das tf.exe verwenden, um Befehle zur Versionskontrolle über eine Eingabeaufforderung oder innerhalb eines Skripts auszuführen.

Ausführen eines Befehls

Um die Visual Studio-Eingabeaufforderung zu starten, wählen Sie Windows Start die Option Visual Studio 2015 und dann die Verknüpfung Developer-Eingabeaufforderung für V2015 aus.

Visual Studio 2017-Benutzer: Die tf.exe-Binärdatei befindet sich nicht mehr an einem festen Speicherort im Visual Studio-Installationspfad wie in früheren Versionen (z.B. C:\Programme (x86)\Microsoft Visual Studio 14.0\Common7\IDE). Skripts, tf.exe verwenden, sollten keinen Pfad zur Datei basierend auf dem Installationspfad von Visual Studio 2017 hartcodieren.

In den meisten Fällen wird der Versionskontrollbefehl im Kontext eines Verzeichnisses ausgeführt, das im Arbeitsbereich zugeordnet ist. Beispielsweise wird $/SiteApp/Main/ c:\\code\\SiteApp\\Main\\ zugeordnet. So rufen Sie die neueste Version aller Elemente im Arbeitsbereich ab:

c:\code\SiteApp\Main\SolutionA>tf get

Einrichten des Entwickler-Computers und Verwalten von Arbeitsbereichen

Ihr Arbeitsbereich ist eine lokale Kopie der Codebasis Ihres Teams. 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:

Proxybefehl (Visual Studio 2010)

Workfold-Befehl (Visual Studio 2010)

Arbeitsbereichsbefehl (Visual Studio 2010)

Arbeitsbereichsbefehl (Visual Studio 2010)

Siehe auch: Einrichten von Team Foundation-Versionskontrolle auf Ihrem Entwicklungscomputer,Erstellen und Arbeiten mit Arbeitsbereichen

Entwickeln Ihrer App

Verwenden Sie diese Befehle, um mit dem Team eine App unter Versionskontrolle zu entwickeln:

Befehl 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".

Delete-Befehl (Team Foundation-Versionskontrolle) (Visual Studio 2010)

Befehl "Get"
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 umbenennen (Team Foundation-Versionskontrolle) (Visual Studio 2010)

Befehl "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.

Befehl "Elete" rückgängig machen (Visual Studio 2010)

Siehe auch: Entwickeln Ihrer App 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:

Shelve-Befehl (Visual Studio 2010)

Shelvesets-Befehl (Visual Studio 2010)

Unshelve-Befehl (Visual Studio 2010)

Siehe auch: Suspend your work and manage your shelvesets (Aussetzen Ihrer Arbeit und Verwalten Ihrer Shelvesets).

Arbeit hinzufügen

So checken Sie Ihren Code in die Codebasis des Teams ein:

Befehl Checkin
Checkt ausstehende Änderungen für Dateien oder Ordner auf dem Server ein.

Siehe auch: Einchecken Ihrer Arbeit in die Codebasis des Teams

Dateien verwalten und Probleme lösen

Anzeigen und Verwalten von Dateien und Ordnern unter Versionskontrolle

Properties(oder Info)-Befehl (Visual Studio 2010)

Befehl Property (nicht dokumentiert)

Dir-Befehl (Visual Studio 2010)

Destroy Command (Team Foundation-Versionskontrolle) (Visual Studio 2010)

LocalVersions-Befehl (Visual Studio 2010)

Siehe auch: Verwenden Quellcodeverwaltungs-Explorer zum Verwalten von Dateien unter Versionskontrolle

Anzeigen und Verwalten früherer Versionen

Changeset-Befehl (Visual Studio 2010)

Befehl "Verlauf"
Zeigt den Verlauf für Dateien und Ordner an.

Label-Befehl (Team Foundation-Versionskontrolle) (Visual Studio 2010)

Befehl "Bezeichnungen" (Visual Studio 2010)

Rollbackbefehl (Team Foundation-Versionskontrolle) (Visual Studio 2010)

Befehl "Unlabel" (Visual Studio 2010)

Befehl anzeigen (Visual Studio 2010)

Siehe auch: Anzeigen und Verwalten früherer Versionen

Vergleichen von Ordnern und Dateien

Difference-Befehl (Visual Studio 2010)

Folderdiff-Befehl (Visual Studio 2010)

Siehe auch: Anzeigen und Verwalten früherer Versionen

Lösen von Dateikonflikten

Resolve-Befehl (Visual Studio 2010)

Siehe auch: Lösen Team Foundation-Versionskontrolle Konflikts.

Arbeiten mit Versionskontrollsperren

Lock-Befehl (Visual Studio 2010)

Siehe auch: Arbeiten mit Versionskontrollsperren.

Risiken isolieren

Verwenden Sie die folgenden Befehle, um Risiken mit Verzweigungen zu isolieren:

Branchbefehl (Visual Studio 2010)

Branches-Befehl (Visual Studio 2010)

Mergebefehl (Visual Studio 2010)

Merges-Befehl (Visual Studio 2010)

Siehe auch: Verwenden von Branches zum Isolieren von Risiken in Team Foundation-Versionskontrolle.

Verwalten der Versionskontrolle

Verwenden Sie die folgenden Befehle, um das Versionskontrollsystem zu verwalten:

Befehl konfigurieren (Visual Studio 2010)

Berechtigungsbefehl (Visual Studio 2010)

Siehe auch: Administering Team Foundation-Versionskontrolle (Visual Studio 2010).

Hilfe zu Versionskontrollbefehlen

Verwenden Sie die folgenden Befehle, um weitere Informationen zu Versionskontrollbefehlen zu erhalten:

Help Command (Team Foundation-Versionskontrolle) (Visual Studio 2010)

Msdn-Befehl (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. [Klammern] geben optionale Argumente an, die zum Ausführen eines Befehls nicht 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

Wenn Optionen durch eine Pipe () getrennt sind, | können Sie eine der Optionen angeben.

Wörtliche und austauschbare Argumente

Fett formatierte Elemente sind Optionen, die wörtlich eingefügt werden. Bei italisierten Elementen handelt es sich um Argumente, die Sie durch tatsächliche Zeichen ersetzen müssen, um einen Befehl auszuführen.

Befehlsverknüpfungen und -aliase

Einige Befehle unterstützen Verknüpfungen. Beispielsweise können Sie den Befehl Delete entweder mit tf delete oder tf del aufrufen.

Beispiel

Beispiel: Der Befehl Checkout:

tf checkout [/lock:( none|checkin|checkout)] [/recursive] itemspec [/login: username,[ password]]

Sehen wir uns die Argumente aus diesem Beispiel an:

  • itemspec: Sie müssen dieses Argument durch eine Itemspec ersetzen, die die elemente angibt, die Sie auschecken.

  • /lock:(none|checkin|checkout): Sie müssen die Option /lock nicht angeben. Wenn Sie sie nicht angeben, gibt das System standardmäßig /lock:none an. 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, müssen Sie diese Option ausführlich angeben.

    • /login:Benutzername,Kennwort: Wenn Sie den Befehl als einen anderen Benutzer ausführen möchten, müssen Sie die Option /login wörtlich angeben, benutzername durch den Namen des Benutzers ersetzen. Bei Bedarf können Sie 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

Sie verwenden eine Itemspec (Elementspezifikation), um die von einem Befehl betroffenen Elemente anzugeben. 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 Client itemspec-Argument gibt einen Pfad zu Elementen auf einem Clientcomputer an, z. B. einem Ordner (z. B. c: \ Code \ SiteApp \ Main \ SolutionA \) einer Datei (z. B. c: \ Code \ SiteApp Main \ \ SolutionA \ Project1 \ program.cs oder mehrere Dateien (z. B. c: \ Code \ SiteApp Main \ \ SolutionA \ * .cs. Sie können auch UNC-Pfade angeben, z. \ \ B. den \ MyShare-Code \ SiteApp \ Main.

Server itemspec-Argumente

Ein Server itemspec-Argument gibt einen Pfad zu Elementen auf Ihrem Team Foundation Server wie z.B. 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) an.

Server-itemspec-Argumente werden in der Regel zum Ausführen von Befehlen für Elemente außerhalb des Clientcomputers verwendet. Beispielsweise arbeiten Sie auf einem Entwicklungscomputer und müssen Revisionsverlaufsdaten zu einigen Elementen abrufen, die sich in einer Projektsammlung befinden, in der Sie nicht arbeiten:

c:\>tf history /collection:http://fabrikam-3:8080/tfs/DefaultCollection
$/SiteApp/Main/SolutionA/Project1/* /recursive  
/noprompt 

Mehrere itemspec-Argumente

Bei einigen Befehlen können Sie mehrere itemspec-Argumente angeben. 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

Sie verwenden eine Versionsangabe (Versionsspezifikation), um die Version der Elemente anzugeben, die von einem Befehl betroffen sind. So geben Sie eine Versionsspezifikation an:

  • Verwenden Sie die Option /version. Beispiel: /version:C44.

  • Fügen Sie die versionspec mit einem Semikolon an eine itemspec an. Beispiel: program1.cs; C44.

Wenn Sie den Befehl Verlauf oder den Differenzbefehlverwenden, können Sie einen Bereich von Versionen angeben, indem Sie die Versionen durch eine Tilde (~) trennen. Beispiel:

c:\code\SiteApp\Main\SolutionA>tf history /noprompt * /recursive /v:D4/12/2012~D4/24/2012

Verwenden Sie die folgende Syntax, um eine versionspec anzugeben.

Type

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

Sie können C weglassen, wenn Sie nur eine Zahl angeben.

Beispiele

c:\code\SiteApp\Main>tf get readme.txt /v:C8

– oder –

c:\code\SiteApp\Main>tf get readme.txt /v:8

– oder –

c:\code\SiteApp\Main>tf get readme.txt;8

Wurde "readme.txt" in Changeset 8 geändert, wird diese Dateiversion abgerufen. Andernfalls wird die neueste Version dieser Textdatei vor Version 8 abgerufen.

Bezeichnung

L-Bezeichnung

Gibt Elemente an, auf die die Bezeichnung angewendet wurde.

Beispiele

c:\code\SiteApp\Main>tf get readme.txt;LJulyHotFix

Ruft die Version von readme.txt ab, die als JulyHotFix bezeichnet wurde.

c:\code\SiteApp\Main>tf get /version:LLastKnownGood

Ruft die Version aller bezeichneten Elemente im Arbeitsbereich ab (und löscht diese Elemente, die nicht bezeichnet wurden), wie sie 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

Tmm/tt/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

c:\code\SiteApp\Main>tf get /version:D2004-03-22

Aktualisiert den Arbeitsbereich entsprechend der am 22.03.2004 um 00:00 Uhr vorhandenen Codebase.

c:\code\SiteApp\Main>tf get /version:D2004-03-22T09:00

Aktualisiert den Arbeitsbereich entsprechend der am 22.03.2004 um 09:00 Uhr vorhandenen Codebase.

Weitere Informationen zu .NET Framework unterstützten Datums- und Uhrzeitformaten finden Sie unter DateTime und Standardformatzeichenfolgenfür Datum und Uhrzeit.

Arbeitsbereich (aktuell)

W

Gibt die Version im Arbeitsbereich an.

Arbeitsbereich (angegeben)

WArbeitsbereichsname; 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 Option /noprompt, um Anforderungen für die Dateneingabe zu unterdrücken und Ausgabedaten an das 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. Wenn Sie z. B. den Befehl Rückgängig mit dieser Option verwenden, werden Sie vom System nicht aufgefordert, zu bestätigen, ob Sie mit dem Rückgängigmachen der Änderungen fortfahren möchten.

    • Es werden keine Fenster und Dialogfelder angezeigt. Sie verwenden diese Option beispielsweise mit dem Checkin-Befehl. Anstatt das Dialogfeld Einchecken anzuzeigen, in dem Sie Ihre Optionen bestätigen können (welche Elemente Sie einchecken möchten oder welche Arbeitselemente zugeordnet werden sollen), fährt das System ohne Bestätigung mit dem Einchecken fort.

  • Leitet Ausgabedaten zur Eingabeaufforderung um. Beispielsweise verwenden Sie diese Option mit dem Verlaufsbefehl. Die Daten werden im Eingabeaufforderungsfenster statt im Verlaufsfenster angezeigt.

Mit der /login-Option beim Ausführen eines Befehls Anmeldeinformationen angeben

Verwenden Sie die Option /login, um das Team Foundation Server Benutzerkonto zum Ausführen eines Befehls anzugeben. Diese Option kann hilfreich sein, wenn Sie auf dem Computer eines anderen Teammitglieds arbeiten.

So arbeitet beispielsweise Julia mit Peter auf seinem Entwickler-Computer. Sie verwendet den Befehl Sperren, um eine Datei zu entsperren, die sie zuvor gesperrt hat:

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

Als bewährte Methode sollten Sie die Option /lock nach Eigenem Ermessen verwenden und Ihre Teamkollegen benachrichtigen, warum Sie ein Element sperren und wann Sie die Sperre entfernen möchten.

Verwenden Sie die Option /lock, um eine Sperre anzuwenden oder zu entfernen, während Sie einen anderen Befehl wie Hinzufügen oder Bearbeiten ausführen.

/lock:(none|checkin|checkout)
  • Keine: Für ein Element wird keine Sperre platziert. Wenn bereits eine Sperre vorhanden ist, wird sie aufgehoben.

  • Einchecken oder Auschecken: Wendet eine Sperre an. Weitere Informationen finden Sie unter 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 den Befehl Sperren verwenden, um eine Sperre für ein 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

Erfolg.

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

Wenn eine der Dateien, die Sie auschecken möchten, nicht auf dem Server vorhanden ist, gibt der Befehl 1 zurück, um einen Teilerfolg anzugeben.