Ein Remote ist ein Repository auf einem Server, auf das sich ein Team als gemeinsamen Stand geeinigt hat. Technisch unterscheidet es sich von deinem lokalen Repository nicht; es liegt nur an einem Ort, den alle erreichen. Englisch remote heißt entfernt.
- Remote
Das Repository auf einem Server, auf das sich ein Team geeinigt hat.
Beispiel: „Das Remote liegt bei GitHub, dorthin pusht jeder seine Commits.“Auch: Remote-Repository, Origin. Origin ist dabei kein Fachbegriff, sondern der Name, den ein Clone dem Herkunftsort von sich aus gibt.
Abgrenzung zum Dienst: GitHub, GitLab und Bitbucket sind Anbieter, die Remotes bereitstellen. Ein Remote kann genauso ein Ordner auf einem eigenen Server sein.
Warum das Remote nichts Besonderes ist
In Git sind alle Repositorys gleichrangig. Dass eines als maßgeblich gilt, ist eine Absprache im Team und keine technische Eigenschaft. Genau deshalb lässt sich weiterarbeiten, wenn der Server ausfällt: Jeder hat die vollständige Geschichte.
Erst beim Push und beim Fetch spielt das Remote eine Rolle. Alles andere geschieht auf deinem Rechner.
Wann es mehrere Remotes gibt
Wenn du zu einem fremden Projekt beiträgst. Dann zeigt origin auf deine eigene Kopie und ein zweites Remote, üblicherweise upstream genannt, auf das ursprüngliche Projekt. Du holst von upstream und pushst nach origin.
Der zweite Fall ist ein zusätzliches Ziel beim Ausrollen, etwa eine Hosting-Plattform, die bei jedem Push baut. Dann ist ein Remote weniger ein gemeinsamer Stand als ein Abwurfpunkt.
Woran man beim Remote scheitert
Am Zugang, und zwar fast immer. Über HTTPS braucht es ein Zugangsdatum, über SSH einen hinterlegten Schlüssel. Die Fehlermeldung nennt in beiden Fällen gern ein fehlendes Repository, obwohl es in Wahrheit die fehlende Berechtigung ist.
Der zweite Fall ist eine Adresse, die auf den falschen Ort zeigt, etwa nach einem Umzug des Projekts. Der Verweis steht in der Konfiguration des Repositorys und lässt sich dort umsetzen, ohne neu zu klonen.