Skip to content

Git Intro GroupA

Miriam Beutel edited this page Jul 18, 2016 · 2 revisions

4. Repository forken

Nun müsst ihr euch eine private Kopie des Projekt-Repositories anlegen. Dafür besucht ihr die Seite eures Repositories auf GitHub und klickt oben rechts auf "Fork". Nach wenigen Momenten solltet ihr zu eurem Fork weitergeleitet werden.

Unterscheidet immer zwischen dem Original-Repo (github.com/OsnaCS/projektname) und eurem Fork (github.com/WilliWacker/projektname).

5. Klonen und remotes anpassen

Jetzt ist es an der Zeit euren Fork zu clonen, also auf euren PC zu laden. Um das zu tun, braucht ihr die Clone-URL eures Forks. Die findet ihr auf der Seite eures Repositories unten rechts. Dort sollte "SSH clone url" mit einer URL stehen. Falls dort "HTTPS clone URL" steht, fragt einen Tutor oder Sitznachbarn. Die SSH-URL kopiert ihr jetzt in die Zwischenablage.

Arbeitet bitte nur im /local Verzeichnis und nicht in eurem Heimatsverzeichnis. Führt dazu folgendes aus (ersetzt die URL durch eure gültige):

$ cd /local
$ git clone [email protected]:WilliWacker/projektname.git
$ cd projectname

Nach kurzer Zeit ist jetzt ein Ordner projektname entstanden, in dem sich schon die Dateien aus eurem Repository befinden sollten.

Nun müssen wir noch das Original Repository als remote hinzufügen. Ein Remote besteht vereinfacht gesagt aus einem Namen und einer URL. Wir brauchen zwei Remotes:

  • origin: Euer Fork auf GitHub
  • upstream: Das originale Repository auf Github

origin wurde automatisch beim clonen angelegt. Wir müssen also nur noch upstream hinzufügen. Dazu müsst ihr die clone-URL eures originalen Repositories wie oben beschrieben herausfinden. Diese URL kann diesmal aber auch eine HTTPS clone url sein. Mit dieser URL fügt ihr aus:

$ git remote add upstream [email protected]:OsnaCS/projektname.git

Danach sollte der Befehl git remote die beiden korrekten Remotes anzeigen und auch der Befehl git fetch upstream sollte funktionieren.

6. Test Pull Request erstellen

Zuletzt testen wir mal den Standard-Workflow für die nächsten Wochen. Dazu sollt ihr Folgendes tun:

  • Ihr solltet euch auf dem master Branch befinden
  • Legt dort eine Datei an, die nach eurem Nachnamen benannt ist
  • Fügt diese Datei hinzu
  • Erstellt einen Commit
  • Push't diesen commit auf euren privaten Fork
  • Erstellt auf Github einen Pull Request (PR):
    • Von eurem branch master ...
    • ... zu dem originalen branch git-tutorial
  • Bearbeitet die von euch erstellte Datei und schreibt "hallo" hinein
  • Fügt die Datei wieder hinzu und commit'et
  • Push't eure Änderung wieder zu eurem privaten Fork
  • Auf der Seite eures PR's sollte jetzt ein weiterer commit angezeigt werden
  • Wartet darauf (oder sagt einem Tutor Bescheid), bis euer PR gemerged wurde
  • Sobald ein paar andere PR's schon gemerged wurden, holt euch die Änderungen (die Dateien der anderen Studenten) von dem originalen Repository (upstream)

Danach sollte der lokale master Branch wieder zurückgesetzt werden, sodass die ganzen Namens-Dateien nicht darin sind. Dazu führt aus:

git reset --hard upstream/master
Clone this wiki locally