Was ist Team Foundation-Versionskontrolle?
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019 | TFS 2018
Visual Studio 2019 | Visual Studio 2022
Unabhängig von der Größe Ihres Softwareprojekts empfiehlt es sich, die Versionskontrolle so früh wie möglich zu verwenden. Versionskontrollsysteme bestehen aus Software, mit der Sie Änderungen nachverfolgen können, die Sie im Laufe der Zeit in Ihrem Code vornehmen. Wenn Sie Ihren Code bearbeiten, weisen Sie das Versionskontrollsystem an, eine Momentaufnahme Ihrer Dateien zu erstellen. Das Versionskontrollsystem speichert die Momentaufnahme dauerhaft, sodass Sie sie bei Bedarf später abrufen können.
Azure DevOps Services und TFS bieten zwei Modelle der Versionskontrolle: Git, bei der es sich um die verteilte Versionskontrolle handelt, und Team Foundation-Versionskontrolle (TFVC), bei der es sich um eine zentralisierte Versionskontrolle handelt. Dieser Artikel bietet eine Übersicht und einen Ausgangspunkt für die Verwendung von TFVC. Wenn Sie entscheiden, welcher Typ von Azure DevOps Services/TFS-Versionskontrolle verwendet werden soll, lesen Sie Auswählen der richtigen Versionskontrolle für Ihr Projekt.
Gründe für die Verwendung der Versionskontrolle
Ohne eine Versionskontrolle würden Sie wahrscheinlich mehrere Kopien des Codes auf Ihrem Computer speichern. Dies ist gefährlich, da es einfach ist, eine Datei in der falschen Codekopie zu ändern oder zu löschen, wodurch möglicherweise Arbeit verloren geht. Versionskontrollsysteme lösen dieses Problem, indem sie alle Versionen Ihres Codes verwalten, Ihnen aber jeweils immer nur eine Version zur Verfügung stellen.
Versionskontrollsysteme bieten die folgenden Vorteile:
- Erstellen von Workflows : Versionskontrollworkflows verhindern das Chaos, dass jeder seinen eigenen Entwicklungsprozess mit unterschiedlichen und inkompatiblen Tools verwendet. Versionskontrollsysteme bieten Prozesserzwingung und Berechtigungen, damit alle auf der gleichen Seite bleiben.
- Arbeiten mit Versionen : Jede Version enthält eine Beschreibung, was die Änderungen in der Version tun, z. B. Beheben eines Fehlers oder Hinzufügen eines Features. Diese Beschreibungen helfen Ihnen dabei, Änderungen im Code nach Version und nicht nach einzelnen Dateiänderungen zu verfolgen. Der in Versionen gespeicherte Code kann bei Bedarf jederzeit in der Versionskontrolle angezeigt und von dort wiederhergestellt werden. Dies erleichtert die Grundlage für neue Arbeit mit jeder Codeversion.
- Code gemeinsam : Die Versionskontrolle synchronisiert Versionen und stellt sicher, dass Ihre Änderungen nicht mit anderen Änderungen ihres Teams in Konflikt geraten. Ihr Team ist auf versionskontrolle angewiesen, um Konflikte zu lösen und zu verhindern, auch wenn Personen gleichzeitig Änderungen vornehmen.
- Verlauf beibehalten : Die Versionskontrolle behält einen Änderungsverlauf bei, während Ihr Team neue Versionen Ihres Codes speichert. Dieser Verlauf kann überprüft werden, um herauszufinden, wer warum und wann Änderungen vorgenommen hat. Der Verlauf gibt Ihnen die Gewissheit, zu experimentieren, da Sie jederzeit ein Rollback zu einer früheren guten Version durchführen können. Mit dem Verlauf können Sie die Arbeit aus einer beliebigen Codeversion erstellen, z. B. um einen Fehler in einer früheren Version zu beheben.
- Automatisieren von Aufgaben : Features zur Automatisierung der Versionskontrolle sparen Ihrem Team Zeit und generieren konsistente Ergebnisse. Sie können Tests, Codeanalyse und Bereitstellung automatisieren, wenn neue Versionen in der Versionskontrolle gespeichert werden.
Es gibt viele Dinge, die Ihre Zeit als Entwickler in Anspruch nehmen können: Das Reproduzieren von Fehlern, das Erlernen neuer Tools und das Hinzufügen neuer Features oder Inhalte. Da die Anforderungen Ihrer Benutzer hochskaliert werden, hilft die Versionskontrolle Ihrem Team, zusammenzuarbeiten und pünktlich zu liefern.
Team Foundation-Versionskontrolle
TFVC ist ein zentralisiertes Versionskontrollsystem. In der Regel verfügen Teammitglieder nur über eine Version jeder Datei auf ihren Entwicklungscomputern. Daten zur Versionsgeschichte einer Datei werden nur auf dem Server gespeichert. Verzweigungen sind pfadbasiert und werden auf dem Server erstellt.
MIT TFVC können Sie präzise Berechtigungen anwenden und den Zugriff auf Dateiebene einschränken. Da Ihr Team seine gesamte Arbeit in Azure DevOps Server überprüft, können Sie problemlos Änderungen überwachen und ermitteln, welcher Benutzer in einem Changeset eingecheckt hat. Mithilfe von Vergleichen und Kommentieren können Sie die genauen Änderungen identifizieren, die sie vorgenommen haben.
Schnellstarts
Beginnen Sie, indem Sie ein Projekt erstellen, Ihren Arbeitsbereich konfigurieren und Ihren Code überprüfen und freigeben. Sie können einen der folgenden Clients oder IDEs verwenden:
Schritt-für-Schritt-Tutorials
Lernen Sie die Grundlagen der Arbeit in TFVC im folgenden Tutorial kennen, das einen Tag im Leben eines DevOps-Entwicklers mit Visual Studio und TFVC zeigt.
- Tag im Leben eines DevOps-Entwicklers: Anhalten der Arbeit, Beheben eines Fehlers und Durchführen einer Codeüberprüfung
- Visual Studio: Überprüfen des Codes
Was möchten Sie tun?
Einrichten Ihres Entwicklungscomputers und erste Schritte
Verbringen Sie einige Minuten, um Ihren Entwicklungscomputer einzurichten, um alle Vorteile einer versionsgesteuerten Codebasis zu nutzen.
Auswählen Ihres Workflowmodells – Server oder lokale Arbeitsbereiche
Serverarbeitsbereiche: Bevor sie Änderungen vornehmen, checken Teammitglieder die Dateien öffentlich aus. Für die meisten Vorgänge müssen Entwickler eine Verbindung mit dem Server hergestellt haben. Dieses System erleichtert das Sperren von Workflows. Andere Systeme, die auf diese Weise arbeiten, sind Visual Source Safe, Perforce und CVS. Mit Serverarbeitsbereichen können Sie auf sehr große Codebasen mit Millionen von Dateien pro Branch und großen Binärdateien hochskalieren.
Lokale Arbeitsbereiche : Jedes Teammitglied nimmt eine Kopie der neuesten Version der Codebasis mit und arbeitet nach Bedarf offline. Entwickler checken ihre Änderungen ein und lösen Konflikte gegebenenfalls auf. Ein anderes System, das nach diese Methode funktioniert, ist Subversion.
Entwickeln Ihrer App in einer versionsgesteuerten Codebasis
Sie müssen in den meisten Situationen nicht über die Versionskontrolle nachdenken. Sie erhalten Unterstützung vom System, wenn Sie die Änderungen verwalten und nachvollziehen müssen.
-
Manchmal ist es erforderlich, einen Teil oder die gesamte ausgeführte Arbeit zurückzustellen. Das Versionskontrollsystem kann einige Schwierigkeiten beseitigen und die durch die Unterbrechungen verlorene Zeit verkürzen.
Mitwirken an Ihrer Arbeit an das Team
Überprüfen Sie Ihre Änderungen, damit Ihr Team auf dem von Ihnen erstellten Wert aufbauen, testen und freigeben kann.
-
Verwenden Sie Verzweigungen und Sperren, um Risiken zu isolieren, die sich daraus ergeben, dass eine Arbeit von verschiedenen Teams erledigt wurde.
Anzeigen und Verwalten früherer Versionen
Ein Vorteil eines Versionskontrollsystems ist, dass Sie in die Vergangenheit zurück sehen können, um ausführliche Informationen zu Änderungen zu bekommen, die an den Dateien vorgenommen wurden.
Vergleichen von Ordnern und Dateien
Sie können Serverordner und lokale Ordner miteinander vergleichen und die Unterschiede zwischen den Inhalten der einzelnen Ordner anzeigen.
Lösen von Konflikten der Team Foundation-Versionskontrolle
Ein großer Vorteil der Versionskontrolle besteht darin, dass mehrere Personen gleichzeitig an einer Datei arbeiten können. Ein Nachteil ist, dass manchmal Konflikte gelöst werden müssen. Es kann ärgerlich sein, auf Konflikte zu stoßen. Daher stellt das System Informationen und Tools bereit, die Ihnen dabei helfen, Konflikte zu verstehen und zu beheben.
Arbeiten mit Versionskontrollsperren
Wenn Sie verhindern möchten, dass Dateien oder Ordner ausgecheckt und geändert werden, können Sie sie sperren.
Vorgänge, die nur über die tf-Befehlszeile verfügbar sind
In der folgenden Tabelle sind Aufgaben für TFVC aufgeführt, die Sie nur an einer Eingabeaufforderung mit dem tf
Befehlszeilentool ausführen können.
Aufgabe | Get-Help |
---|---|
Löschen Sie den Arbeitsbereich eines anderen Benutzers. | workspace mit der /delete Option |
Rückgängigmachen des Auscheckens eines anderen Benutzers. | undo |
Entfernen Sie die Sperre eines anderen Benutzers. | lock |
Definieren Sie den Bezeichnungsbereich. | label |
Führen Sie eine basislose Zusammenführung aus. | merge |
Inhalte dauerhaft zerstören. | destroy |
Führen Sie ein Rollback für die Auswirkung eines oder mehrerer Changesets durch. | rollback |