Was ist die Team Foundation-Versionskontrolle?

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

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 am Code im Laufe der Zeit vornehmen. Während 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 stellen zwei Modelle für Versionskontrolle bereit: verteilte Versionskontrolle mit Git und zentralisierte Versionskontrolle mit der Team Foundation-Versionskontrolle (TFVC). Dieser Artikel enthält eine Übersicht über TFVC und Hinweise zu den ersten Schritten. Wenn Sie entscheiden, welcher Typ von Azure DevOps Services-/TFS-Versionskontrolle verwendet werden soll, finden Sie weitere Informationen unter Auswählen der richtigen Versionskontrolle für Ihr Projekt.

Gründe für die Verwendung von Versionskontrolle

Ohne eine Versionskontrolle würden Sie wahrscheinlich mehrere Kopien des Codes auf Ihrem Computer speichern. Dies ist gefährlich, weil es einfach ist, eine Datei in der falschen Kopie des Codes 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: Workflows der Versionskontrolle verhindern Chaos, wenn alle Benutzer ihre eigenen Entwicklungsprozesse mit verschiedenen und inkompatiblen Tools verwenden. Versionskontrollsysteme ermöglichen die Prozesserzwingung und Berechtigungen, sodass alle Benutzer dieselben Abläufe anwenden.
  • Arbeiten mit Versionen: Jede Version enthält eine Beschreibung für die Änderungen in der Version, 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 macht es einfacher, neue Aufgaben auf Grundlage einer beliebigen Codeversion zu erledigen.
  • Gemeinsames Programmieren: Die Versionskontrolle synchronisiert die Versionen und stellt sicher, dass Ihre Änderungen nicht mit anderen Änderungen Ihres Teams in Konflikt geraten. Ihr Team nutzt die Versionskontrolle, um Konflikte zu lösen und zu vermeiden, selbst wenn mehrere Personen gleichzeitig Änderungen vornehmen.
  • Bereitstellen eines Verlaufs: Die Versionskontrolle zeichnet alle Änderungen auf, während Ihr Team neue Versionen Ihres Codes speichert. Dieser Verlauf kann überprüft werden, um herauszufinden, wer warum und wann Änderungen vorgenommen hat. Dank des Verlaufs können Sie ohne Angst experimentieren, weil Sie jederzeit ein Rollback zu einer früheren fehlerfreien Version ausführen können. Mit dem Verlauf können Sie die Arbeit von jeder beliebigen Codeversion aus erstellen, z. B. um einen Fehler in einer früheren Version zu beheben.
  • Automatisieren von Aufgaben: Die Automatisierungsfunktionen der Versionskontrolle sparen Ihrem Team Zeit und sorgen für konsistente Ergebnisse. Sie können Tests, Codeanalysen und Bereitstellungen 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 Funktionen oder Inhalte. Wenn die Anforderungen Ihrer Benutzer steigen, 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 auf ihren Entwicklungscomputern nur über eine Version jeder Datei. 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 erteilen und den Zugriff bis auf Dateiebene einschränken. Da das Team seine gesamte Arbeit in Azure DevOps Server eincheckt, können Sie Änderungen leicht überwachen und genau erkennen, welcher Benutzer ein Changeset eingecheckt hat. Mit Vergleichen und Kommentaren können Sie die vorgenommenen Änderungen genau identifizieren.

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.

Was möchten Sie tun?

  • Einrichten Ihres Entwicklungscomputers und erste Schritte

    Die Einrichtung des Entwicklungscomputers dauert nur wenige Minuten. Anschließend können Sie von allen Vorteilen einer Codebasis mit Versionskontrolle profitieren.

  • 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 ermöglicht das Sperren von Workflows. Andere Systeme, die auf diese Weise arbeiten, sind Visual Source Safe, Perforce und CVS. Mit Serverarbeitsbereichen können Sie bis auf sehr große Codebasen mit Millionen von Dateien pro Branch und großen Binärdateien skalieren.

    • Lokale Arbeitsbereiche: Jedes Teammitglied verfügt über eine Kopie der neuesten Codebasisversion und kann damit bei Bedarf offline arbeiten. 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 Codebasis mit Versionskontrolle

    In den meisten Situationen müssen Sie sich über die Versionskontrolle keine Gedanken machen. Sie erhalten Unterstützung vom System, wenn Sie die Änderungen verwalten und nachvollziehen müssen.

  • Die Arbeit anhalten

    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.

  • Tragen Sie Ihre Arbeit zum Team bei

    Checken Sie die Änderungen ein, sodass das Team auf der von Ihnen erstellten Arbeit aufbauen, sie testen und freigeben kann.

  • Risiken isolieren

    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 werden Aufgaben für TFVC aufgeführt, die Sie nur an einer Eingabeaufforderung mit dem Befehlszeilentool tf ausführen können.

Aufgabe Get-Help
Löschen des Arbeitsbereichs eines anderen Benutzers. workspace mit der /delete-Option
Rückgängigmachen des Auscheckens durch einen anderen Benutzer. undo
Entfernen der Sperre eines anderen Benutzers. lock
Definieren des Bezeichnungsbereichs. label
Durchführen eines basislosen Mergevorgangs. merge
Dauerhaftes Zerstören von Inhalten. destroy
Rückgängigmachen der Auswirkungen mindestens eines Changesets. rollback