Lokal zusammenarbeiten · Übung
Den zusammengeführten Verlauf pushen
Der lokale main enthält jetzt einen sauberen Merge der Belegausgabe und der Mengenverarbeitung deines Kollegen. Das Bare-Repository origin zeigt noch auf den früheren letzten Commit der Kollegenseite. Wenn du den main von origin auf den zusammengeführten lokalen Stand verschiebst, bleiben beide Seiten erhalten.
Die Übergabe vor dem Senden prüfen
Die einfache Ausgabe von git status sollte einen sauberen Arbeitsbaum melden und sagen, dass der lokale main vor origin/main liegt. Der Befehl git log --oneline origin/main..main verwendet den Verlaufsbereich aus der vorherigen Lektion, um die Ergänzungen zu zeigen, die der Push zu origin bringen wird: deine beiden Commits zur Belegausgabe und den Merge-Commit, der die Linien verbindet. Die Option --oneline begrenzt jedes Ergebnis auf eine abgekürzte Kennung und seine Betreffzeile.
git status
git log --oneline origin/main..main
Diese Prüfung betrifft den Verlauf, der gemeinsam genutzt werden wird. Sie sagt keine Liste von Datei-Uploads voraus. Git sendet fehlende Commit-Objekte und bittet origin dann, seine Branch-Referenz zu verschieben.
Das sichere Ergebnis pushen
Der Befehl git push verwendet die bereits für main eingerichtete Upstream-Beziehung. Diesmal ist der aktuelle letzte Commit des Bare-Repositorys origin ein Vorfahr des zusammengeführten lokalen letzten Commits. Die Aktualisierung ist deshalb ein Fast-Forward und erhält alles, was origin bereits hatte:
git push
git status
Nach dem erfolgreichen Push aktualisiert Git auch die lokale Remote-Tracking-Referenz origin/main. Der lokale main, das lokale origin/main und der main des Bare-Repositorys origin bezeichnen jetzt denselben zusammengeführten Commit. Der separate Klon colleague ändert sich nicht automatisch. Sein lokaler main und sein zuletzt gesehenes origin/main bleiben beim früheren letzten Kollegen-Commit, bis jemand wieder in diesem Klon arbeitet.
Dasselbe git push wurde in der vorherigen Lektion abgelehnt und in dieser angenommen. Was hat sich geändert?
Das ist eine vollständige Runde der Zusammenarbeit: Die Arbeit einer anderen Person kam an, du hast sie geprüft, ohne Verlust einer Seite mit deiner eigenen verbunden und das Ergebnis zurückgegeben. Jedes Repository, das von jetzt an von origin abruft, erhält die Arbeit beider Personen in einem Verlauf.
Dafür waren weder Konto noch Passwort noch Netzwerkverbindung nötig. Ein Hosting-Dienst hätte nur die Entfernung zwischen diesen Verzeichnissen verändert.