Lokales Arbeiten mit Git

Abgeschlossen

Git und Continuous Delivery passen einfach wie angegossen zusammen. Damit haben in der Softwarewelt endlich einmal zwei hervorragende Dinge zusammengefunden.

Continuous Delivery von Software erfordert ein erhebliches Maß an Automatisierung. Kontinuierliche Bereitstellungen sind schwierig, wenn Sie nicht über eine hochwertige Codebasis verfügen.

Git stellt Ihnen die Bausteine zur Verfügung, um die Qualität Ihrer Codebasis selbst in die Hand zu nehmen. Damit können Sie die meisten Aufgaben beim Einchecken in Ihre Codebasis automatisieren. Außerdem hilft es bereits, bevor der Code in Ihr Repository committet wird.

Um die Effizienz von Git vollständig nutzen zu können, müssen Sie zunächst verstehen, wie sie grundlegende Vorgänge in Git durchführen. Dazu gehören z. B. das Klonen, Committen, Pushen und Pullen.

Die eigentliche Frage lautet also: Wie beginnen Sie mit Git?

Eine Möglichkeit bietet die native Befehlszeile, oder Sie suchen nach einem Code-Editor, der Git nativ unterstützt.

Visual Studio Code ist ein plattformübergreifender Open-Source-Code-Editor, der leistungsstarke Entwicklungstools für Hunderte von Programmiersprachen bietet.

Für die Arbeit in der Open-Source-Welt sollten Sie auch Open-Source-Tools verwenden.

Dieses Rezept beginnt mit:

  • Einrichten der Entwicklungsumgebung mit Visual Studio Code
  • Erstellen eines neuen Git-Repositorys
  • Lokales Committen von Codeänderungen
  • Pushen von Änderungen an ein Remoterepository in Azure DevOps

Vorbereitung

In diesem Tutorial erfahren Sie, wie Sie ein Git-Repository lokal initialisieren.

Anschließend verwenden Sie die Projektvorlage ASP.NET Core MVC, um ein neues Projekt zu erstellen und es im lokalen Git-Repository zu versionieren.

Anschließend verwenden Sie Visual Studio Code, um mit dem Git-Repository zu interagieren und grundlegende Commit-, Pull- und Pushvorgänge durchzuführen.

Sie müssen in Ihrer Arbeitsumgebung Folgendes einrichten:

Der Visual Studio Marketplace bietet viele Erweiterungen für Visual Studio Code, die Sie installieren können, um die Verwendung von Git zu verbessern:

  • GitLens: Diese Erweiterung ermöglicht Visualisierungen für den Codeverlauf mithilfe von „git blame“-Anmerkungen und CodeLens. Mit der Erweiterung können Sie nahtlos durch den Verlauf einer Datei oder eines Branchs navigieren und ihn untersuchen. Außerdem können Sie mit der Erweiterung über leistungsstarke Vergleichsbefehle wertvolle Erkenntnisse u. v. m. gewinnen.
  • Git History: Diese Erweiterung bietet Visualisierungs- und Interaktionsfunktionen zum Anzeigen des Git-Protokolls und des Dateiverlaufs und zum Vergleichen von Branches oder Commits.

Vorgehensweise

  1. Öffnen Sie die Eingabeaufforderung, und erstellen Sie einen neuen Arbeitsordner:

    mkdir myWebApp
    cd myWebApp
    
    
  2. Initialisieren Sie in myWebApp ein neues Git-Repository:

    git init
    
    
  3. Konfigurieren Sie globale Einstellungen für den Namen und die E-Mail-Adresse, die beim Committen in diesem Git-Repository verwendet werden:

    git config --global user.name "John Doe"
    git config --global user.email "john.doe@contoso.com"
    
    

    Wenn Sie hinter einem Unternehmensproxy arbeiten, können Sie Ihr Git-Repository proxyfähig machen, indem Sie die Proxydetails in der globalen Git-Konfigurationsdatei hinzufügen. Mit verschiedenen Varianten dieses Befehls können Sie einen HTTP/HTTPS-Proxy (mit Benutzername/Kennwort) einrichten und optional die SSL-Überprüfung umgehen. Führen Sie den folgenden Befehl aus, um einen Proxy in Ihrer globalen Git-Konfiguration zu konfigurieren.

    git config --global http.proxy
    http://proxyUsername:proxyPassword@proxy.server.com:port
    
    
  4. Erstellen Sie eine neue ASP.NET Core-Anwendung. Der Befehl „new“ bietet eine Vielzahl von Schaltern, die für die Auswahl von Sprache, Authentifizierung und Framework verwendet werden können. Weitere Informationen finden Sie in Microsoft Learn.

    dotnet new mvc
    
    

    Starten Sie Visual Studio Code im Kontext des aktuellen Arbeitsordners:

    code .
    
    
  5. Wenn das Projekt in Visual Studio Code geöffnet wird, wählen Sie für die Warnmeldung Erforderliche Ressourcen zum Erstellen und Debuggen fehlen in „myWebApp“. Diese hinzufügen?Ja aus. Wählen Sie Wiederherstellen für die Informationsmeldung zu nicht aufgelösten Abhängigkeiten aus. Drücken Sie F5 zum Debuggen der Anwendung. Anschließend wird myWebApp wie im folgenden Screenshot gezeigt im Browser geladen:

    Screenshot der Web-App aus Visual Studio Code

    Wenn Sie lieber die Befehlszeile verwenden möchten, können Sie die folgenden Befehle im Kontext des Git-Repositorys ausführen, um die Webanwendung auszuführen.

    dotnet build
    dotnet run
    
    

    Sie werden feststellen, dass Ihrem Arbeitsordner der Ordner „.VS Code“ hinzugefügt wird. Um das Committen dieses Ordners in Ihr Git-Repository zu vermeiden, können Sie ihn in der Datei „.gitignore“ hinzufügen. Drücken Sie F1, während der Ordner „.VS Code“ ausgewählt ist, um das Befehlsfenster in Visual Studio Code zu starten, geben Sie „gitIgnore“ ein, und nehmen Sie die Option an, den ausgewählten Ordner in die neue Datei „.gitIgnore“ einzufügen.

    Screenshot des Hinzufügens der Datei zu „.gitignore“

    Öffnen Sie Ihre Datei „.gitignore“, entfernen Sie den Dateinamen aus dem Pfad, und behalten Sie den Ordner mit einem Schrägstrich bei, z. B. .VS Code/*.

    Screenshot des Hinzufügens des Ordners „vscode“ in der Datei „.gitignore“

  6. Navigieren Sie zum Stagen und Committen des neu erstellten Projekts myWebApp in Ihrem Git-Repository in Visual Studio Code im linken Bereich zum Git-Symbol. Fügen Sie einen Commitkommentar hinzu, und committen Sie die Änderungen, indem Sie auf das Häkchensymbol klicken. Das Stagen und Committen der Änderungen erfolgt in einem Vorgang:

    Screenshot des Commits mit VS Code.

    Öffnen Sie die Datei „Program.cs“. Sie werden feststellen, dass GitLens die Klassen und Funktionen mit dem Commitverlauf ergänzt und diese Informationen in jede Codezeile einfügt:

    Screenshot des Codes in „Program.cs“ mit Klassenanmerkungen

  7. Starten Sie die Eingabeaufforderung nun im Kontext des Git-Repositorys, und führen Sie git branch --list aus. Sie können erkennen, dass es in diesem Repository derzeit nur den main-Branch gibt. Führen Sie nun den folgenden Befehl aus, um einen neuen Branch mit der Bezeichnung feature-devops-home-page zu erstellen.

    git branch feature-devops-home-page
    git checkout feature-devops-home-page
    git branch --list
    
    

    Mit diesen Befehlen haben Sie einen neuen Branch erstellt und ausgecheckt. Mit dem Schlüsselwort --list zeigen Sie eine Liste aller Branches in Ihrem Repository an. Die Farbe Grün stellt den Branch dar, der derzeit ausgecheckt ist.

  8. Navigieren Sie nun zur Datei ~\Views\Home\Index.cshtml, und ersetzen Sie den Inhalt durch den folgenden Text.

    @{
        ViewData["Title"] = "Home Page";
    }
    
    <div class="text-center">
        <h1 class="display-4">Welcome</h1>
        <p>Learn about <a href="https://azure.microsoft.com/services/devops/">Azure DevOps</a>.</p>
    </div>
    
    
  9. Aktualisieren Sie die Web-App im Browser, um die Änderungen anzuzeigen.

    Screenshot der Localhost-Homepage

  10. Führen Sie die folgenden Befehle im Kontext des Git-Repositorys aus. Diese Befehle stagen die Änderungen im Branch und committen sie dann.

    git status
    git add .
    git commit -m "updated welcome page."
    git status
    
    
  11. Führen Sie die folgenden Befehle im Kontext des Git-Repositorys aus, um die Änderungen von „feature-devops-home-page“ in „main“ zu mergen.

    git checkout main
    git merge feature-devops-home-page
    
    

    Screenshot des Ausgabefensters beim Mergen von „feature-devops-home-page“

  12. Führen Sie den folgenden Befehl aus, um den Featurebranch zu löschen.

    git branch --delete feature-devops-home-page
    
    

Funktionsweise

Am einfachsten verstehen Sie das Ergebnis der zuvor durchgeführten Schritte, wenn Sie sich den Vorgangsverlauf ansehen. Im Folgenden erfahren Sie, wie das funktioniert.

  1. In Git ist das Committen von Änderungen in ein Repository ein zweistufiger Prozess. Ausführung von: add . Die Änderungen werden gestaget, aber nicht committet. Abschließend werden durch Ausführen des Commits die gestageten Änderungen in das Repository übertragen.

  2. Um den Verlauf der Änderungen im main-Branch anzuzeigen, führen Sie den Befehl git log -v aus.

    Screenshot des Änderungsverlaufs im Mainbranch

  3. Um die tatsächlichen Änderungen im Commit zu untersuchen, können Sie den Befehl git log -p ausführen.

    Screenshot der Befehlszeile mit der Ausgabe von „git log -p“ mit den erfassten Änderungen.

Weiterführende Themen

Git vereinfacht das Sichern von Änderungen. Sie können z. B. bei diesem Beispiel die an der Homepage vorgenommenen Änderungen herausstellen.

Dazu können Sie den main-Branch mit dem folgenden Befehl hart auf eine frühere Version des Commits zurücksetzen.

git reset --hard 5d2441f0be4f1e4ca1f8f83b56dee31251367adc

Durch Ausführen des obigen Befehls wird der Branch auf die Änderung zur Projektinitialisierung zurückgesetzt.

Wenn Sie git log -v, ausführen, sehen Sie, dass die an der Homepage vorgenommenen Änderungen aus dem Repository entfernt wurden.