Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Visual Studio 2019 | Visual Studio 2022
Sie können Versionssteuerungsbefehle verwenden, um fast alle TfVC-Aufgaben (Team Foundation Version Control) auszuführen, die Sie in Visual Studio ausführen können. Sie können auch Versionssteuerungsbefehle verwenden, um mehrere Aufgaben auszuführen, die in Visual Studio nicht ausgeführt werden können. Zum Ausführen von Versionssteuerungsbefehlen über eine Eingabeaufforderung oder innerhalb eines Skripts verwenden Sie das tf.exe Tool.
Ausführen eines Befehls
Um die Visual Studio-Eingabeaufforderung zu starten, wählen Sie von Windows Start die Entwickler-Eingabeaufforderung für VS2022 oder eine frühere Versionsverknüpfung aus.
Hinweis
Für Visual Studio 2019 und höhere Versionen befindet sich die tf.exe Binärdatei nicht mehr an einem festen Speicherort im Visual Studio-Installationspfad wie in einigen früheren Versionen, C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDEz. B. . . Wenn Ihr Skript verwendet tf.exewird, codieren Sie keinen Pfad zu der Datei basierend auf dem Visual Studio-Installationspfad.
In den meisten Fällen führen Sie den Versionssteuerungsbefehl im Kontext eines Verzeichnisses aus, das im Arbeitsbereich zugeordnet ist. Beispiel: $/SiteApp/Main/ ist zugeordnet c:\\code\\SiteApp\\Main\\zu . Verwenden Sie den folgenden Befehl, um die neueste Version aller Elemente im Arbeitsbereich abzurufen:
c:\code\SiteApp\Main\SolutionA>tf get
Einrichten Ihres Entwicklungscomputers und Verwalten von Arbeitsbereichen
Ihr Arbeitsbereich ist eine lokale Kopie der Codebasis Ihres Teams. Da es sich um eine lokale Kopie auf Ihrem Entwicklungscomputer handelt, können Sie Ihren Code isoliert entwickeln und testen, bis Sie bereit sind, Ihre Arbeit einzuchecken. Hier sind einige Befehle zum Verwalten Ihres Arbeitsbereichs:
Weitere Informationen finden Sie in den folgenden Ressourcen:
- Einrichten der Team Foundation-Versionssteuerung auf Ihrem Entwicklungscomputer
- Erstellen und Arbeiten mit Arbeitsbereichen
Entwickeln Ihrer App
Verwenden Sie diese Befehle, um Ihre App unter Versionssteuerung mit Ihrem Team zu entwickeln:
- Befehl hinzufügen: Fügt Dateien und Ordner zur Versionssteuerung hinzu.
- Auschecken (oder Bearbeiten)-Befehl: Checkt eine Datei aus und ändert den ausstehenden Änderungsstatus, um sie zu bearbeiten.
- Befehl "Löschen" (Team Foundation Version Control): Entfernt Dateien und Ordner vom Azure DevOps-Server und löscht sie vom Datenträger.
- Get-Befehl: Holt (lädt herunter) die neueste Version oder eine angegebene Version von einer oder mehreren Dateien oder Ordnern vom Azure DevOps Server in den Arbeitsbereich.
- Befehl 'Umbenennen' (Team Foundation Version Control): Ändert den Namen oder Pfad einer Datei oder eines Ordners.
- Statusbefehl: Zeigt Informationen zu ausstehenden Änderungen an Dateien und Ordnern in Arbeitsbereichen oder in einem Regalsatz an.
- Befehl "Rückgängig": Verwirft angegebene ausstehende Änderungen an Dateien oder Ordnern.
- Befehl "Rückgängig": Stellt Elemente wieder her, die zuvor gelöscht wurden.
Weitere Informationen finden Sie unter Entwickeln Ihrer App im Team Foundation-Versionssteuerelement.
Anhalten Ihrer Arbeit
Aus verschiedenen Gründen müssen Sie manchmal einige oder alle Ihre laufenden Arbeiten außer Kraft setzen. Wenn Sie Ihre Arbeit anhalten und fortsetzen möchten und Ihre Regale verwalten möchten, verwenden Sie die folgenden Befehle:
Weitere Informationen finden Sie unter "Suspend your work and manage your regalets".
Mitwirken
Verwenden Sie den checkin Befehl, um Ihren Code in die Codebasis des Teams einzuchecken:
- Checkin-Befehl: Überprüft ausstehende Änderungen an Dateien oder Ordnern auf dem Server.
Weitere Informationen finden Sie unter Einchecken Ihrer Arbeit an der Codebasis des Teams.
Verwalten von Dateien und Beheben von Problemen
Verwenden Sie die Ressourcen in den folgenden Abschnitten, um Dateien zu verwalten.
Anzeigen und Verwalten von Versionssteuerungsdateien und -ordnern
- Eigenschaften (oder Info)-Befehl: Zeigt Informationen zu Elementen im Versionssteuerelement an.
- Dir-Befehl: Zeigt den Inhalt des Versionssteuerungsservers an.
- Befehl "Zerstören" (Team Foundation Version Control): Löscht versionsgesteuerte Dateien dauerhaft.
- LocalVersions-Befehl: Zeigt die Versionen von Arbeitsbereichselementen an.
Weitere Informationen finden Sie unter Verwenden des Quellcodeverwaltungs-Explorers zum Verwalten von Dateien unter Versionssteuerung.
Anzeigen und Verwalten früherer Versionen
- Changeet-Befehl: Ändert oder zeigt Changeset-Attribute an.
- Befehl "Verlauf": Zeigt den Überarbeitungsverlauf von Dateien oder Ordnern an.
- Beschriftungsbefehl (Team Foundation Version Control): Fügt Bezeichnungen aus Dateien oder Ordnern an oder entfernt sie.
- Beschriftungsbefehl: Zeigt Informationen zu Bezeichnungen an, die auf dem Server verwendet werden.
- Rollbackbefehl (Team Foundation Version Control): Setzt die Auswirkungen von Changesets zurück.
- Befehl "Bezeichnung aufheben": Entfernt ein Element aus einer vorhandenen Bezeichnung auf dem Server.
- Ansichtsbefehl: Ruft eine angegebene Version einer Datei ab und zeigt sie an.
Weitere Informationen finden Sie unter Anzeigen und Verwalten früherer Versionen.
Vergleichen von Ordnern und Dateien
- Befehl "Unterschied": Vergleicht Die Unterschiede zwischen Dateien und Regalsätzen.
- Folderdiff-Befehl: Vergleicht Unterschiede zwischen Dateien in zwei Ordnern.
Weitere Informationen finden Sie unter Anzeigen und Verwalten früherer Versionen.
Beheben von Dateikonflikten
- Auflösen des Befehls: Löst Konflikte zwischen Elementen in Ihrem Arbeitsbereich und auf dem Server.
Weitere Informationen finden Sie unter Beheben von Team Foundation-Versionssteuerungskonflikten.
Arbeiten mit Versionskontrollsperren
- Lock command: Sperrt oder entsperrt Dateien und Ordner.
Weitere Informationen finden Sie unter "Arbeiten mit Versionssteuerungssperren".
Isolieren des Risikos
Verwenden Sie die folgenden Befehle, um Risiken mithilfe von Verzweigungen zu isolieren:
Weitere Informationen finden Sie unter Verwenden von Verzweigungen zum Isolieren von Risiken in der Team Foundation-Versionssteuerung.
Verwalten der Versionsverwaltung
Verwenden Sie die folgenden Befehle, um Ihr Versionssteuerungssystem zu verwalten:
Weitere Informationen finden Sie unter Konfigurieren von Auscheckeinstellungen.
Abrufen von Hilfe zu Versionssteuerungsbefehlen
Verwenden Sie die folgenden Befehle, um detaillierte Informationen zu Versionssteuerungsbefehlen zu erhalten:
Grundlegendes zur Befehlssyntax
Die Syntax der einzelnen Befehle wird oben in jedem Referenzartikel angezeigt.
Erforderliche und optionale Argumente
Nicht in eckige Klammern gesetzte Argumente sind erforderlich. [Eckige Klammern] geben optionale Argumente an, die zum Abschließen eines Befehls nicht erforderlich sind. Einige optionale Argumente weisen jedoch Standardwerte auf, die auf den Befehl angewendet werden, auch wenn Sie die Option nicht angeben.
Exklusive Argumente
Wenn Optionen durch eine Pipe| () getrennt sind, können Sie eine der Optionen angeben.
Verbatim- und ersetzbare Argumente
Elemente, die nicht in eckige Klammern eingeschlossen sind, sind Optionen, die Sie "verbatim" einschließen. Elemente, die in eckige Klammern (< und >) eingeschlossen sind, sind Argumente, die Sie durch tatsächliche Zeichen ersetzen müssen, um einen Befehl auszuführen.
Befehlsverknüpfungen und Aliase
Einige Befehle unterstützen Tastenkombinationen. Sie können z. B. den Befehl "Löschen" entweder oder tf deletetf del" aufrufen.
Example
Betrachten Sie beispielsweise den Befehl "Auschecken":
tf checkout [/lock:( none|checkin|checkout)] [/recursive] <item-spec> [/login: <username>, [<password>]]
Dieses Beispiel enthält die folgenden Argumente:
-
<item-spec>: Sie müssen dieses Argument durch eine Elementspezifikation ersetzen, die die Elemente identifiziert, die Sie auschecken. - Die folgenden Argumente sind optional. Wenn Sie sie nicht angeben, gelten keine der Effekte für den Befehl:
-
/lock:(none|checkin|checkout): Wenn Sie die/lockOption nicht angeben, verwendet/lock:nonedas System standardmäßig. Andernfalls können Sie eine der anderen Sperroptionen angeben. -
/recursive: Wenn Sie mehrere Elemente in einem Ordner rekursiv auschecken möchten, müssen Sie diese Option kurz angeben. -
/login:<username>, <password>: Wenn Sie den Befehl als einen anderen Benutzer ausführen möchten, müssen Sie die/loginOption kurz angeben und durch den Namen des Benutzers ersetzen<username>. Ersetzen Sie<password>bei Bedarf das Kennwort des Benutzers.
-
Angeben der von einem Befehl betroffenen Elemente
Sie können Elementspezifikationen und Versionsspezifikationen verwenden, um anzugeben, welche Elemente von einem Befehl betroffen sind.
Verwenden eines Arguments für die Elementspezifikation zum Angeben betroffener Elemente
Sie verwenden eine Elementspezifikation, um die von einem Befehl betroffenen Elemente anzugeben. Sie können Elemente entweder auf einem Clientcomputer oder auf Ihrem Azure DevOps-Server angeben. Sie können Wildcardzeichen wie * z. B. und ?verwenden.
Argumente für die Clientelementspezifikation
Ein Argument für die Clientelementspezifikation gibt einen Pfad zu Elementen auf einem Clientcomputer an, z. B.:
- Ein Ordner, z. B . "c:\code\SiteApp\Main\SolutionA\".
- Eine Datei, z. B. "c:\code\SiteApp\Main\SolutionA\Project1\program.cs".
- Mehrere Dateien, z. B. c:\code\SiteApp\Main\SolutionA\*.cs.
- Ein UNC-Pfad (Universal Naming Convention), z. B. \\myshare\code\SiteApp\Main.
Serverelementspezifikationsargumente
Ein Serverelementspezifikationsargument gibt einen Pfad zu Elementen auf Ihrem Azure DevOps-Server an, z. B.:
- Ein Ordner, z. B. $/SiteApp/Main/SolutionA.
- Eine Datei, z. B. $/SiteApp/Main/SolutionA/Project1/program.cs.
- Mehrere Dateien, z. B. $/SiteApp/Main/SolutionA/*.cs.
In der Regel verwenden Sie Serverelementspezifikationsargumente, wenn Sie einen Befehl auf Elementen ausführen müssen, die sich nicht auf dem Clientcomputer befinden. Angenommen, Sie arbeiten an einem Entwicklungscomputer. Wenn Sie einige Überarbeitungsverlaufsdaten zu einigen Elementen abrufen müssen, die sich in einer Projektsammlung befinden, in der Sie nicht arbeiten, können Sie den folgenden Befehl verwenden:
c:\>tf history /collection:https://fabrikam-3:8080/tfs/DefaultCollection
$/SiteApp/Main/SolutionA/Project1/* /recursive
/noprompt
Argumente für mehrere Elementspezifikationen
Bei einigen Befehlen können Sie mehrere Elementspezifikationsargumente angeben, z. B.:
c:\code\SiteApp\Main\SolutionA\Project1\>tf checkout program1.cs program2.c
Mit diesem Befehl werden program.cs und program2.c ausgecheckt.
Verwenden eines Versionsspezifikationsarguments zum Angeben betroffener Versionen von Elementen
Sie verwenden eine Versionsspezifikation, um die Version von Elementen anzugeben, die von einem Befehl betroffen sind. Um eine Versionsspezifikation bereitzustellen, können Sie:
Verwenden Sie die
/versionOption, z. B/version:C44. .Fügen Sie die Versionsspezifikation an eine Elementspezifikation mit einem Semikolon an,
program1.cs;C44z. B. .
Wenn Sie den Befehl "Verlauf " oder den Befehl "Differenz" verwenden, können Sie einen Bereich von Versionen angeben, indem Sie die Versionen durch eine Tilde trennen, z. B.:
c:\code\SiteApp\Main\SolutionA>tf history /noprompt * /recursive /v:D4/12/2022~D4/24/2022
Verwenden Sie die folgende Syntax, um eine Versionsspezifikation anzugeben:
| Typ | Syntax | Description | Examples | Ergebnis |
|---|---|---|---|---|
| Änderungssatz | [C]<version-number> |
Gibt Elemente basierend auf einer Changeet-Nummer an. Wenn ein Element, das sich im Bereich befindet, nicht im angegebenen Changeset geändert wurde, verwendet das System die neueste Version des Elements, das vor dem angegebenen Changeset aufgetreten ist. Sie können weglassen C , wenn Sie nur eine Zahl angeben. |
tf get readme.txt /v:C8tf get readme.txt /v:8tf get readme.txt;8 |
Wenn readme.txt in Changeset 8 geändert wurde, ruft der Beispielcode diese Version der Datei ab. Andernfalls wird die neueste Version von readme.txt vor Version 8 angezeigt. |
| Etikett | L<label> |
Gibt Elemente an, auf die eine Bezeichnung angewendet wird. | tf get readme.txt;LJulyHotFixtf get /version:LLastKnownGood |
Das erste Beispiel ruft die Version von readme.txt ab, die mit der Bezeichnung "JulyHotFix" gekennzeichnet wurde. Die zweite ruft die Version aller bezeichneten Elemente (und löscht diese Elemente nicht beschriftet) im Arbeitsbereich, da sie vorhanden waren, als das Changeset mit der Bezeichnung LastKnownGood erstellt wurde. Sie können den Code im zweiten Beispiel als Teil eines automatisierten Buildprozesses verwenden. |
| Datum und Uhrzeit | D<yyyy-mm-ddTxx:xx>oder D<mm/dd/yyyy>oder Jedes .NET Framework-unterstützte Format. oder Jedes der Datumsformate, die auf dem lokalen Computer unterstützt werden. |
Gibt ein Changeset an, das zu einem bestimmten Zeitpunkt an einem bestimmten Datum erstellt wurde. | tf get /version:D2022-03-22tf get /version:D2022-03-22T09:00 |
Im ersten Beispiel wird der Arbeitsbereich so aktualisiert, dass er der Codebasis entspricht, wie er am 22. März 2022 um Mitternacht vorhanden ist. Die zweite aktualisiert den Arbeitsbereich so, dass er der Codebasis entspricht, wie er am 22. März 2022 um 9:00 Uhr vorhanden ist. Weitere Informationen zu .NET Framework-unterstützten Datums- und Uhrzeitformaten finden Sie unter DateTime- und Standard-Datums- und Uhrzeitformatzeichenfolgen. |
| Aktueller Arbeitsbereich | W |
Gibt die Version in Ihrem Arbeitsbereich an. | - | - |
| Angegebener Arbeitsbereich | W<workspace-name>; <workspace-owner> |
Gibt die Version in einem angegebenen Arbeitsbereich an. | tf get /version:WResolveRIConflicts;PatW |
Im Beispiel wird die Version im Arbeitsbereich angegeben, ResolveRIConflicts der PatW besitzer ist. |
| Tipp | T |
Gibt die neueste Version an. | - | - |
Verwenden von Optionen zum Ändern der Funktionsweise eines Befehls
Sie können einige allgemeine Optionen verwenden, um zu ändern, wie ein Befehl funktioniert.
/noprompt Verwenden Der Option zum Unterdrücken von Dateneingabeanforderungen und Umleitungsausgabedaten
Verwenden Sie die /noprompt Option, um Anforderungen für die Dateneingabe zu unterdrücken und Ausgabedaten an das Eingabeaufforderungsfenster umzuleiten. Diese Option kann nützlich sein, wenn Sie Versionssteuerungsbefehle in einem Skript verwenden müssen, in dem:
- Der Befehl wird ohne Eingreifen eines Benutzers fortgesetzt.
- Die Daten sind für das Skript verfügbar, um Vorgänge auszuführen, z. B. analysieren oder erfassen.
Wenn Sie diese Option verwenden, gilt folgendes System:
Unterdrückt alle Anforderungen für Eingaben:
- Fragen werden nicht im Eingabeaufforderungsfenster gestellt. Wenn Sie z. B. den Befehl "Rückgängig " mit dieser Option verwenden, werden Sie vom System nicht aufgefordert, zu bestätigen, ob Sie die Änderungen rückgängig machen möchten.
- Windows- und Dialogfelder werden nicht angezeigt. Sie können diese Option beispielsweise mit dem Befehl "Einchecken" verwenden. Das System zeigt das Dialogfeld " Einchecken " nicht an, in dem Sie Elemente und zugehörige Arbeitsaufgaben bestätigen können. Stattdessen überprüft das System die Elemente ohne Bestätigung.
Leitet Ausgabedaten an die Eingabeaufforderung um. Sie können diese Option beispielsweise mit dem Befehl "Verlauf" verwenden. Die Daten werden im Eingabeaufforderungsfenster anstelle des Verlaufsfensters angezeigt.
Verwenden der Option zum Angeben von /login Anmeldeinformationen
Verwenden Sie die /login Option, um das Azure DevOps-Serverbenutzerkonto anzugeben, in dem ein Befehl ausgeführt werden soll. Diese Option kann nützlich sein, wenn Sie auf dem Computer eines anderen Teammitglieds arbeiten.
Angenommen, Sie arbeiten auf dem Entwicklungscomputer Ihres Teammitglieds. Sie verwenden den Befehl "Sperren" , um eine Datei zu entsperren, die Sie zuvor gesperrt haben:
c:\code\SiteApp\Main> tf lock /lock:none program.cs /login:<username>,<password>
Wenn Sie vermeiden möchten, dass Ihr Kennwort in der Eingabeaufforderung angezeigt wird, können Sie den Befehl ohne das Kennwort eingeben:
c:\code\SiteApp\Main> tf lock /lock:none program.cs /login:<username>
Nachdem Sie diesen Befehl eingegeben haben, werden Sie vom System aufgefordert, Ihr Kennwort in ein Dialogfeld einzugeben, in dem Ihre Eingabe maskiert wird.
Verwenden der /lock Option zum Anwenden oder Entfernen einer Sperre
Von Bedeutung
Verwenden Sie als bewährte Methode die /lock Option nach Ermessen. Informieren Sie Ihre Teamkollegen darüber, warum Sie ein Element sperren und wann Sie die Sperre entfernen möchten.
Verwenden Sie die /lock Option, um eine Sperre gleichzeitig anzuwenden oder zu entfernen, mit der Sie einen anderen Befehl wie "Hinzufügen " oder "Bearbeiten" ausführen.
/lock:(none|checkin|checkout)
Der /lock Befehl verwendet die folgenden Optionen:
None: Es wird keine Sperre für ein Element platziert. Wenn eine Sperre bereits vorhanden ist, wird sie entfernt.CheckinoderCheckout: Es wird eine Sperre angewendet. Weitere Informationen finden Sie unter "Grundlegendes zu Sperrtypen".
Hinweis
In einigen Fällen kann der Sperrvorgang fehlschlagen:
- Wenn andere Benutzer eines der angegebenen Elemente gesperrt haben, schlägt der Sperrvorgang fehl.
- Wenn bereits eine ausstehende Änderung an dem angegebenen Element vorhanden ist, ignoriert das System diese Option. In diesem Fall müssen Sie den Befehl "Sperren " verwenden, um eine Sperre für ein Element zu ändern.
Verwenden von Optionsverknüpfungen
Sie können die folgenden Optionen kürzen.
Auswahl
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
Grundlegendes zu Exitcodes
Versionssteuerungsbefehle geben die folgenden Beendigungscodes zurück:
Exit Code
Definition
0
Erfolg.
1
Teilerfolg. Mindestens etwas oder möglicherweise alles konnte nicht erfolgreich sein.
2
Unbekannter Befehl.
100
Nichts war erfolgreich.
Angenommen, Sie führen den folgenden Befehl aus:
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 auf einen Teilerfolg hinzuweisen.