Im diesem Artikel hab’ ich erstmals kurz zusammengefasst, wie ich mit Forks von GitHub arbeite. Hier folgen nun mehr Details am konkreten Beispiel “moxie”.
GitHub-Projekt spalten (fork)
- GitHub-Projekt im Browser öffnen: https://github.com/gitblit/moxie
- Auf der Projektseite wird auch die Clone-Url-O angezeigt, hier: https://github.com/gitblit/moxie.git
Auf der Projektseite den Knopf “Fork” anwählen:
Folgeseiten “durchklicken”
- Schlußendlich landet man auf dem abgespaltenen Projekt, bei mir ist das die Browser-Url https://github.com/uli-heller/moxie
- Auf der Projektseite wird auch die Clone-Url-S angezeigt, bei mir: git@github.com:uli-heller/moxie.git
Lokalen Kopie anlegen (clone)
Gespaltenes Projekt kopieren mit: git clone <clone-url-s>
, also
im konkreten Fall git clone git@github.com:uli-heller/moxie.git
:
1 2 3 4 5 6 7 8 |
|
Original-Projekt einbinden (upstream)
1 2 3 4 5 6 |
|
Kopie des Original-Projektes aktualisieren
1 2 3 4 5 6 |
|
Änderungen des Original-Projektes einarbeiten
Gelegentlich will man die Änderungen des Original-Projektes
in das abgespaltete Projekt einarbeiten. Vor der Einarbeitung
muß die Kopie des Original-Projektes aktualisiert worden sein
(git fetch upstream
).
Nur eigene Pull-Requests
Hier der Ablauf, wenn am Original-Projekt zwischenzeitlich nur eigene Pull-Requests eingearbeitet wurden. Die Aktualisierung läuft in diesem Falle völlig schmerzfrei!
1 2 3 4 5 6 7 8 |
|
Konflikte
Wenn am Original-Projekt zwischenzeitlich auch andere Änderungen
gemacht wurden, so kommt es gelegentlich zu Konflikten beim
Einarbeiten. Die Konflikte können mit git mergetool
aufgelöst
werden. Wichtig: Vor dem abschließenden git commit
sollte
der neue Stand ausführlich getestet werden!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
|
Links
- GitHub-Artikel: https://help.github.com/articles/fork-a-repo.