Übung: Ausführen eines Pull Requests
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.
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.Öffnen Sie die Datei site.css im Verzeichnis Alice/CSS:
code CSS/site.css
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.
Führen Sie nun einen Commit für die Änderungen aus:
git commit -a -m "Change background color to light blue"
Anschließend führen Sie einen Pull Request zurück zum ursprünglichen Repository aus:
git request-pull -p origin/main .
Ü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.
Kehren Sie zum Projektverzeichnis zurück, und verwenden Sie einen
git remote
-Befehl, um ein Remoterepository namensremote-alice
zu erstellen, dass dem Projektverzeichnis von Alice zugeordnet ist:cd ../Cats git remote add remote-alice ../Alice
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.Ü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.