Es ist nicht ungewöhnlich, dass sich im eigenen Github-Repository einige Forks anhäufen. Wenn man sich nach einiger Zeit so einem Fork widmet, wird man es zunächst aktualisieren wollen, schließlich mag es sein, dass der Autor des Originals mittlerweile Veränderungen vorgenommen hat. Dieser Blogbeitrag beschreibt, wie dies in der Shell durchgeführt werden kann.
- Öffne das Terminal (oder beispielsweise iTerm) und verwende
cd
, um in das lokale Repository zu wechseln. - Stelle sicher, dass der richtige Zweig aktiviert ist. In der Regel wird dies
master
— oder bei neueren Repositoriesmain
— sein.
git checkout main
- Bevor die Aktualisierung durchgeführt werden kann, ist zu prüfen, ob das Original-Repository bzw. der Original-Upstream bekannt ist. Mit folgender Anweisung kann dies überprüft werden:
$ git remote -v
origin https://github.com/xern/imessage_reader.git (fetch)
origin https://github.com/xern/imessage_reader.git (push)
- In diesem Fall wird lediglich das geforkte Repository ausgegeben. Daher ist es erforderlich, das Original-Repository hinzuzufügen, was mit nachfolgend gezeigter Anweisung erreicht wird. Dabei ist die Original-Adresse innerhalb von
<>
entsprechend anzupassen.
git remote add upstream <https://github.com/original_owner/original_repository.git>
- Wenn nun
git remote -v
ausgeführt wird, führt dies hier zu folgender Ausgabe:
origin https://github.com/xern/imessage_reader.git (fetch)
origin https://github.com/xern/imessage_reader.git (push)
upstream https://github.com/niftycode/imessage_reader.git (fetch)
upstream https://github.com/niftycode/imessage_reader.git (push)
- Jetzt ist es an der Zeit, die Änderungen (im Original-Repository) abzufragen:
git fetch upstream
- Die Änderungen können dann in das geforkte Repository übernommen werden. Bei älteren Github-Repositories muss anstelle von „upstream/main“ eventuell „upstream/master“ angegeben werden.
git merge upstream/main
- Schließlich werden die Änderungen mit
push
in den eigenen Remote-Fork hochgeladen:
git push
Nachdem diese Schritte durchgeführt wurden, sind das Original-Repository und der Fork wieder synchron.
Zuletzt aktualisiert am 28. Juni 2023