-
Notifications
You must be signed in to change notification settings - Fork 16
Git Intro GroupA
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
).
Jetzt ist es an der Zeit euren Fork zu clone
n, 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.
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
- Von eurem branch
- 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