Wie es weitergeht
Begriffe rund um gehostetes Git einordnen
Ein Hostingdienst legt ein weiteres Repository auf einem über ein Netzwerk erreichbaren Computer ab und ergänzt Werkzeuge für die Zusammenarbeit. Gehostete URLs, Authentifizierung, Forks und Pull Requests bilden den Rahmen um diesen Austausch, aber das Git-Modell darunter bleibt gleich.
Diese Lektion macht die Grenzen zwischen diesen Begriffen deutlich, damit die Dokumentation eines Anbieters Repository, Branch und Prüfungsvorschlag nicht miteinander verschwimmen lässt. Sie fordert dich nicht auf, einen Anbieter zu wählen, ein Konto anzulegen, Authentifizierung einzurichten oder ein Projekt ins Netzwerk zu verlagern.
Aus einem Pfad wird eine gehostete URL
In den lokalen Übungen speicherte origin den Pfad ../origin.git. Bei einem gehosteten Repository ist der gespeicherte Ort normalerweise eine HTTPS- oder SSH-URL statt eines Pfads auf demselben Datenträger. Der Remotename origin bleibt ein gewöhnlicher, konventioneller Name, der in deinem lokalen Repository gespeichert ist.
HTTPS und SSH sind Wege, auf denen Git das andere Repository erreicht. Ein Dienst kann Authentifizierung verlangen, also einen Nachweis, dass er weiß, welches Konto eine Anfrage stellt und dass dieses Konto dazu berechtigt ist. Die genauen Regeln für Anmeldung, Token, Schlüssel und Berechtigungen gehören zu diesem Dienst. Das sind Einrichtungsentscheidungen, keine fehlenden Teile des Git-Kurses.
Dein lokales main und origin/main behalten ebenfalls ihre bisherigen Bedeutungen. Das lokale main ist der Branch, auf dem du arbeitest. origin/main ist die Aufzeichnung deines Repositorys über den zuletzt gesehenen Stand des entfernten Branches. Eine Hostingwebsite kann diese Referenzen mit Schaltflächen und Diagrammen darstellen, macht daraus aber keinen einzelnen, ständig aktuellen gemeinsamen Zeiger.
Ein Fork ist eine gehostete Kopie
Ein Fork ist eine Kopie, die ein Hostingdienst unter einem anderen Konto oder Namensraum erstellt. Häufig wird ein Repository geforkt, wenn man Branches nicht direkt in das ursprüngliche gehostete Repository pushen kann oder sollte.
Ein Fork ist kein Branch. Er ist ein weiteres gehostetes Repository mit eigenen Referenzen und Zugriffsregeln. Ein Fork ist auch nicht dasselbe wie ein Klon: Ein Fork wird auf dem Dienst erstellt, während ein Klon ein Arbeitsrepository auf deinem Computer erzeugt. Jemand kann seinen Fork klonen, lokale Commits und Branches erstellen und später Arbeit mit einem oder mehreren gehosteten Repositorys austauschen.
Ein Pull Request ist ein Vorschlag zur Prüfung
Ein Pull Request ist ein Vorschlag auf einem Hostingdienst, eine Reihe von Commits zu prüfen und einen Branch in einen anderen zu integrieren. Manche Dienste verwenden für dieselbe allgemeine Idee den Namen Merge Request. Der Dienst kann den Unterschied anzeigen, Kommentare sammeln, automatische Prüfungen ausführen und festhalten, ob der Vorschlag angenommen wurde.
Ein Pull Request ist kein Git-Commit und nicht der Befehl git pull. Das Wort „pull“ in seinem Namen beschreibt die vorgeschlagene Zusammenarbeit aus Sicht des Dienstes. Einen Pull Request zu öffnen oder anzunehmen, ist ein gehosteter Arbeitsablauf, für den verschiedene Dienste und Teams unterschiedliche Regeln haben.
Damit ist die nützliche Zuordnung vollständig: Git speichert Momentaufnahmen und Referenzen; Remotes verbinden Repositorys; eine gehostete URL gibt einem Remote einen Netzwerkort; Authentifizierung regelt den Zugriff; ein Fork ist ein weiteres gehostetes Repository; und ein Pull Request ergänzt Commits und Branches um eine Diskussion zur Prüfung. Keine dieser Dienstfunktionen ändert, was ein Commit oder Branch ist.