Übung: Ausführen eines Pull Requests

Abgeschlossen

Stellen Sie in der Sandbox sicher, dass Sie sich immer noch im Verzeichnis Alice befinden, dem obersten Ordner für den Klon des Katzen-Repositorys von Alice. Mit dem Befehl pwd können Sie den Speicherort des Ordners überprüfen.

pwd

Zurzeit gibt es nichts, was Alice pullen könnte, da Sie keine Änderungen vorgenommen haben, seit Alice das Repository geklont hat. Sie können dies mit dem folgenden Befehl nachweisen, der die Ausgabe Already up to date anzeigt:

git pull

Durchführen einer Änderung und Absenden eines Pull Requests

Alice beginnt mit der Arbeit an der Website. Zuerst ändert Alice die Hintergrundfarbe der Website. Alice probiert lokal mehrere Farben aus und entscheidet sich schließlich für einen hellblauen Farbton.

  1. Richten Sie eine Identität für Alice ein, indem Sie die folgenden Befehle ausführen:

    git config user.name "Alice"
    git config user.email "alice@contoso.com"
    
    

    Diese config-Einstellungen werden im Repository in der Datei .git/config gespeichert, sodass Sie sie nicht nochmal eingeben müssen. Jedes Mal, wenn Sie in das Verzeichnis Alice wechseln, nehmen Sie praktisch die Identität von Alice an.

  2. Öffnen Sie die Datei site.css im Verzeichnis Alice/CSS:

    code CSS/site.css
    
    
  3. Um die Hintergrundfarbe der Seite in Hellblau zu ändern, ersetzen Sie die zweite Zeile in der Datei durch die folgende Anweisung:

    body { font-family: serif; background-color: #F0FFF8; }
    

    Speichern Sie die Datei dann, und schließen Sie den Editor.

  4. Führen Sie nun einen Commit für die Änderungen aus:

    git commit -a -m "Change background color to light blue"
    
    
  5. Anschließend führen Sie einen Pull Request zurück zum ursprünglichen Repository aus:

    git request-pull -p origin/main .
    
    
  6. Überprüfen Sie die Ausgabe. Die Ausgabe sollte etwa folgendem Beispiel entsprechen:

    The following changes since commit 2bf69ab0226d8d35efd1e92c83cd92c5cc09a7ae:
    
      Add simple HTML and stylesheet (2019-11-21 01:57:24 +0000)
    
    are available in the git repository at:
    
      .
    
    for you to fetch changes up to 95bbc3b6929953e9b04353920e97230b463022f0:
    
      Change background color to light blue (2019-11-21 02:33:48 +0000)
    
    ----------------------------------------------------------------
    Alice (1):
          Change background color to light blue
    
     CSS/site.css | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/CSS/site.css b/CSS/site.css
    index caefc86..86d41e8 100644
    --- a/CSS/site.css
    +++ b/CSS/site.css
    @@ -1,2 +1,2 @@
     h1, h2, h3, h4, h5, h6 { font-family: sans-serif; }
    -body { font-family: serif; }
    \ No newline at end of file
    +body { font-family: serif; background-color: #F0FFF8; }
    \ No newline at end of file
    

Erstellen eines Remoterepositorys und Vervollständigen des Pull Requests

Da sich Ihr Projektverzeichnis und das Verzeichnis Alice auf demselben Computer befinden, können Sie es direkt aus dem Verzeichnis Alice pullen. Tatsächlich befindet sich das Verzeichnis Alice auf dem Computer von Alice. Sie lösen diese Situation, indem Sie ein Remoterepository mit dem Befehl git remote einrichten. Anschließend verwenden Sie dieses Remoterepository für Pull- und Push-Anforderungen. Für dieses Beispiel ist es nicht sinnvoll, zwei Computer einzurichten, daher richten wir ein Remoterepository ein, das einen lokalen Pfadnamen verwendet. In der Praxis würden Sie stattdessen einen Netzwerkpfad oder eine URL verwenden.

  1. Kehren Sie zum Projektverzeichnis zurück, und verwenden Sie einen git remote-Befehl, um ein Remoterepository namens remote-alice zu erstellen, dass dem Projektverzeichnis von Alice zugeordnet ist:

    cd ../Cats
    git remote add remote-alice ../Alice
    
    
  2. Führen Sie nun einen Pull aus:

    git pull remote-alice main
    
    

    Beachten Sie, dass Sie im Pullbefehl einen Branch namens main angeben müssen. In der nächsten Lektion erfahren Sie, wie Sie eine Upstream-URL für den Branch einrichten.

  3. Überprüfen Sie die Ausgabe. Sie sollten eine Ausgabe wie in diesem Beispiel sehen, die zeigt, dass der Pull Request erfolgreich abgeschlossen wurde:

    remote: Counting objects: 4, done.
    remote: Compressing objects: 100% (3/3), done.
    remote: Total 4 (delta 1), reused 0 (delta 0)
    Unpacking objects: 100% (4/4), done.
    From ../Alice
     * branch            main     -> FETCH_HEAD
     * [new branch]      main     -> remote-alice/main
    Updating 2bf69ab..95bbc3b
    Fast-forward
     CSS/site.css | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    

Der Spaß fängt jedoch gerade erst an. In der nächsten Lerneinheit erfahren Sie, wie Sie ein freigegebenes Repository einrichten und verwenden, wodurch die Zusammenarbeit noch einfacher und bequemer wird.