Git Tutorium – Teil 3
Jetzt ist es an der Zeit, die Remote-Repositorys mit dem Projekt zu verbinden. Im Projekt-Ordner Webseite-mit-Git fügt man also zunächst sein privates Repository als Remote hinzu.
$ git remote add origin ~/Git/ich.git
Dieses Kommando setzt sich aus mehreren Teilen zusammen. Der erste Parameter remote
bezieht sich auf Remote-Repository-Feature von Git. Das darauf folgende add
gibt an, dass man ein Remote-Repository hinzufügen möchte. Der Parameter add
verlangt wiederum zwei Parameter, das wäre zum einen der Name des Repositorys und zum anderen der Pfad zum Repository. Der Pfad zum entfernten Repository kann auch über SSH, HTTPS oder über das Git-Protokoll erfolgen. Das eigene Repository wird in der Regel origin
genannt, dort sollte man auch volle Schreibrechte besitzen.
Weiterhin bietet es sich nun an, die übrigen Remote-Repositorys hinzuzufügen, das wären upstream
und er
. Das Repository upstream
soll das gemeinsame Repository beider Mitarbeiter sein, auf dem die fertige Webseite kollaborativ erarbeitet werden soll:
$ git remote add upstream ~/Git/Webseite-mit-Git.git $ git remote add er ~/Git/Er.git
Der Befehl git remote
sollte nun drei Remotes anzeigen.
$ git remote er origin upstream
Bis jetzt wurde Git nur bekanntgegeben, dass es diese Remote-Repositorys gibt. Die Inhalte wurden noch nicht in das lokale Repository heruntergeladen. Dafür gibt es das Git-Kommando fetch
. Damit kann man die Bestandteile eines Remote-Repositorys herunterladen.
$ git fetch upstream Von /home/sujee/Git/Webseite-mit-Git * [neuer Branch] content -> upstream/content * [neuer Branch] master -> upstream/master * [neuer Branch] menu -> upstream/menu * [neuer Branch] more_content -> upstream/more_content
Wie man aus der Ausgabe herauslesen kann, wurden die Branches master
, content
, menu
und more_content
vom Repository upstream
heruntergeladen. Da es sehr mühselig wäre, für jedes Remote-Repository einzeln git fetch
aufzurufen, gibt es auch eine Möglichkeit, alle Remote-Repositorys in einem Rutsch herunterzuladen:
$ git remote update Fordere an von upstream Fordere an von er Von /home/sujee/Git/Er * [neuer Branch] content -> er/content * [neuer Branch] master -> er/master * [neuer Branch] menu -> er/menu * [neuer Branch] more_content -> er/more_content Fordere an von origin Von /home/sujee/Git/ich * [neuer Branch] content -> origin/content * [neuer Branch] master -> origin/master * [neuer Branch] menu -> origin/menu * [neuer Branch] more_content -> origin/more_content
Alternativ kann man auch git fetch --all
ausführen, welches denselben Effekt hat.