Erfahren Sie, wie Team Foundation-Versionskontrolle (TFVC)-Befehle Git-Workflows zugeordnet sind

Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018

Möchten Sie Git übernehmen, sind mit TFVC-Aktionen vertraut, und fragen Sie sich, wie sie Git zugeordnet sind? Beide sind leistungsstarke und reife Quellsteuerungssysteme. Die Zuordnung allgemeiner Aktionen, die Sie in der 1.

Dieser Artikel geht nicht tief in die Git-Befehle ein, da sie in der Produktdokumentation gut dokumentiert sind, aber Beispiele zeigen, um Ihnen dabei zu helfen, die richtigen Entscheidungen zu treffen, während Sie durch ein typisches Create -> Clone> - Branch> - Change - Commit - Push-Workflow wechseln>>.

Beginnen Sie am Anfang, indem Sie ein neues Repo erstellen

Jeder Project kann TFVC- und Git-Repositorys im gleichen Projekt hosten, eine TFVC und mindestens ein Git-Repository erstellen.

Create a new Git repo in Azure Repos

Sobald das Repo erstellt wurde, werden Sie schritt-by-Schritt-Anweisungen angezeigt, um schnell zu beginnen.

Get Started with a new Git repo in Azure Repos

Klicken Sie am Ende der Anweisungsseite auf eine ReadMe-Datei , um dem Repokontext zu geben und einen Verlauf zu erstellen.

Create a README to initialize a new Git repo in Azure Repos

Erstellen eines Arbeitsbereichs und neuestes Abrufen

Wenn Sie eine Verbindung mit einem TFVC-Repo zum ersten Mal herstellen, erstellen Sie in der Regel einen Arbeitsbereich und erhalten den neuesten Code. Wie können Sie mit Git beginnen?

Ähnlich wie ein Arbeitsbereich in TFVC können Sie clone das Git-Repository zu einem Ordner auf Ihrem Computer verwenden. Das Klonen lädt alle Inhalte und den Verlauf des Repositorys auf Ihren lokalen Computer herunter. Sobald Sie über das klonierte Repo verfügen, werden fast alle Vorgänge lokal ausgeführt. Sie können offline mit einer vollständigen Sicherung des zentralen Repositorys arbeiten.

git clone https://dev.azure.com/demo-fabrikam/Fabrikam/_git/Mapping-TFVC-actions-to-Git

Sie müssen nur einmal pro Repo klonen, aber wie TFVC-Arbeitsbereiche können mehrere Klonen zum Isolieren der laufenden Arbeit haben. Die Verzweigung ist in der Regel jedoch eine bessere Möglichkeit, Änderungen zu isolieren.

Erstellen einer Verzweigung

Mit Git arbeiten Sie immer in einem Zweig und standardmäßig in dermain Verzweigung. Es wird empfohlen, mehrere lokale Zweigstellen zu erstellen. Es ist ein Prozess, der Sekunden dauert und es Ihnen ermöglicht, nahtlos zwischen Zweigen zu wechseln und isoliert zu arbeiten. Im Gegensatz zu TFVC-Zweigen, die auf Pfade festgelegt sind, sind Git-Zweigstellen repositoryd. Sie sind leicht, können nur lokal sein oder für andere freigegeben werden, wenn Sie bereit sind, Ihre Änderungen freizugeben.

Ziehen Sie die Verzweigung in Betracht, wenn Sie isoliert arbeiten müssen, müssen Ihre Arbeit anhalten, sich auf neue Features konzentrieren oder wenn Sie planen, eine Git-Pull-Anforderung durchzuführen.

Wiederholen Sie als TFVC-Benutzer einige Mal folgendes:

  • Verzweigung wird empfohlen!
  • Git Branching ist kostengünstige, schnelle und leistungsstarke!
  • Git fordert Sie auf, lokale Zweigstellen zu verwenden.
  • Veröffentlichen Sie lokale Zweigen nach Bedarf in Ihrem zentralen Repository.
  • Überprüfen Sie immer den Zweigkontext, bevor Sie Änderungen vornehmen.
  • Benennen Sie den Zweig mithilfe einer allgemeinen Konvention, z. B. Benutzer/Alias/Branchname, z. B. Benutzer/doris/newfeature

Erstellen und Wechseln zu einem lokalen Themenzweig namens Francis/Demo-Feature. Es empfiehlt sich, einen git status ersten Vorgang auszuführen, um zu überprüfen, ob Sie sich auf dem richtigen Zweig befinden, mit dem Sie beginnen können.

git checkout -b francis/demo-feature

Creating a new Git branch from the Windows command line

Ändern durch Hinzufügen von Dateien

Ähnlich wie die TFVC-Erfahrung sind neue Dateien im Arbeitsordner nicht automatisch Teil des Repositorys. Sie stellen Ihre neuen Dateien mit dem git add Befehl dar, der synonym für die Ausführung eines add Items to Folder Vorgangs in TFVC ist.

git add <file>

oder

git add --all

Mithilfe des vorgebackenen Beispiels verfügen Sie über 13 neue Dateien, die in das lokale Repository einbezogen und ausgeführt wurden.

Anzeigen ausstehender Änderungen

Fragen Sie sich, welche Änderungen jetzt in Ihrer Arbeitsumgebung sitzen? Wie zuvor zeigt der Git-Befehl status oder die Changes Ansicht in der Visual Studio IDE Änderungen in Ihrer Arbeitsstruktur an.

git status

Using Git Status to show staged changes

Überprüfen Sie Änderungen, und setzen Sie sich lokal fest

In TFVC teilen Sie Ihre Änderungen mit einer Überprüfung, die Ihre ausstehenden Änderungen an den Server sendet. Der Git-Prozess ist ein bisschen anders. Zunächst werden Sie zum lokalen Repository verpflichtet, ein Commitobjekt (z. B. ein Changeset) zu erstellen, und drücken Sie dann, um diese Änderungen an den Server zu senden.

Sie setzen die Änderungen an Ihrem lokalen Repository mithilfe git commiteiner Checkin Pending Changes in TFVC ähnlichen Änderung fest. Ein wichtiger Unterschied besteht darin, dass die git commit Änderungen an dem lokalen Repository anstelle des Remote-Repositorys vorgenommen werden.

git commit

Überprüfen sie Änderungen mit dem Server-/Remote-Repo

Zunächst müssen Sie Ihre lokale Francis/Demo-Feature-Branch auf dem Remoteserver veröffentlichen, der alle gebundenen Änderungen umfasst.

git push --set-upstream origin francis/demo-feature

Um weitere Updates in Ihrem lokalen Repository mit dem Remote-Repository zu synchronisieren, müssen Sie Ihre Änderungen mithilfe git pushvon Pushen verschieben. Die empfohlene Methode mit dem Git-Befehl oder der Visual Studio IDE besteht darin:

  • fetch zum Herunterladen von Inhalten und Vorschau eingehender Änderungen von anderen Personen.
  • pull zum Herunterladen und Zusammenführen von Änderungen aus anderen Personen.
  • push um Ihre lokalen Änderungen zu teilen.

Anzeigen des Verlaufs

Um den Commit anzuzeigen, können Sie gerade den lokalen Verlauf überprüfen.

Verwenden Sie für einen kompakten Verlauf:

git log --oneline

Verwenden Sie für eine detaillierte Ansicht:

git log

Using Git log to review branch history

Wie oben gezeigt, git log werden der Autor, die E-Mail, das geschriebene Datum und das Commit-SHA-1-Prüfum aufgelistet. Als TFVC-Benutzer können Sie die --stat Option verwenden, weitere Informationen zu enthalten, z. B. Dateinamen und Änderungsstatistiken.

Sie können auch den Verlauf des zentralen Repositorys mithilfe des Azure DevOps Services Webportals anzeigen.

Wählen Sie im Azure DevOps Services-Webportal CODEverlauf oder CODE-Explorerverlauf >>> aus.

Viewing Branch history in Azure Repos

An diesem Punkt haben Sie die Erstellung -> Klon - Klon> - Branch> - Change>> - Commit - Push-Workflow basierend auf gängigen TFVC-Aktionen erfolgreich untersucht.

Sie haben auch die Möglichkeit, eine Pullanfrage auszugeben, um Ihre Änderungen auf dem Server/Remote-Repo an diesem Punkt zu veröffentlichen und zu stufen.

Andere Aktionen

Wechseln von Branches

Beim Arbeiten mit Git ändern Sie keine Zweigstellen, indem Sie zu separaten Ordnern und Speicherorten auf Ihrem Computer wechseln. Sie ändern den Kontext, indem Sie den checkoutgesamten Arbeitsverzeichnis mit dem ausgewählten Zweig oder Commit übereinstimmen. Schnell und einfach!

Befehlszeile

git checkout <branch>

Wenn Sie vergessen haben, welche Zweigstellen Sie in Ihrem lokalen Repository haben, verwenden git branch Sie die Liste der Standard- und bekannten Zweigstellen.

Denken Sie daran, an welcher Zweig Sie arbeiten! Wenn Sie mit mehreren Zweigen in Git arbeiten, wechseln Sie in demselben Arbeitsverzeichnis zu zweigen. Das Wechseln zwischen Zweigen ist ein schneller Vorgang, und stellen Sie sicher, dass Sie jederzeit auf dem richtigen Zweig sind.

Letzte Version abrufen

Es gibt viele Gründe, Updates zu erhalten. Wenn Sie z. B. den Kontext zu einem anderen Projekt wechseln müssen, aktualisieren Sie Ihren Entwicklungscomputer mit der neuesten Version der Codebase.

Befehlszeile

git pull

oder

git fetch

gefolgt von

git merge FETCH_HEAD

Rufen Sie immer die neueste Version ab und beheben Sie Zusammenführungskonflikte lokal.

Lokale Änderungen rückgängigmachen

Möglicherweise gibt es einen gültigen Grund, alle Überarbeitungen, die Sie in Ihrem lokalen Repository vorgenommen haben, zurückzusetzen und Ihre Arbeitsumgebung auf die neueste Version aus dem Remoterepository zurückzusetzen.

Befehlszeile

git reset --hard HEAD

gefolgt von

git pull origin

gefolgt von

git clean -xdf

Das Szenario ist synonym für die Get > Latest Version Arbeit mit den Overwrite writable files that are not checked out optionen Overwrite all files if the local version matches the specified version in TFVC.

Alternativ können Sie Ihr lokales Repo manuell löschen – nach dem Erstellen einer überprüften Kopie natürlich – und dann clone erneut das Repository.

Es gibt viel mehr Aktionen und Optionen für Git-Benutzer. Nachfolgend finden Sie einige nützliche Referenzwebsites zum weiteren Lesen:

F&A

Was ist mit der Synchronisierung?

"Macht die Visual Studio IDE Commit and Sync nicht magisch alles?", können Sie sich fragen.

Commit and sync in Team Explorer

Mit Magie kommt Verantwortung! Viele Benutzer mögen dies sync nicht, da es manchmal Ihren lokalen Verlauf durchschlagen kann, und fügen Sie einen Merge-Commit oben in Ihrem aktuellen Commit hinzu. Sobald Sie sich in einem schlechten Zustand befinden, müssen Sie auf die Befehlszeile zurückgesetzt werden, da derzeit keine Rücksetzungsunterstützung in der IDE vorhanden ist.

Autoren: Jesse Houwing, Martin Hinshelwood, Mike Fourie und Willy Schaub aus der ALM | DevOps Ranger. Verbinden mit ihnen hier.

c) 2015 Microsoft Corporation. Alle Rechte vorbehalten. Dieses Dokument wird "as-is" bereitgestellt. Informationen und Ansichten, die in diesem Dokument ausgedrückt werden, einschließlich URL und anderen Internetwebsitebezügen, können ohne Ankündigung geändert werden. Sie tragen das alleinige Verwendungsrisiko.

Dieses Dokument stellt keinerlei Rechtsansprüche auf geistiges Eigentum in Microsoft-Produkten jeglicher Art bereit. Dieses Dokument darf für interne Referenzzwecke kopiert und verwendet werden.