In Ihrem lokalen Klon des Kindes, von Eltern ziehen, es als Fernbedienung hinzufügen, wenn Sie mögen:
cd child
git remote add parent <parent-url>
git pull parent
Die URL der Eltern sein könnte das öffentliche Github-Repo oder Ihr lokaler Klon - der lokale Klon wird natürlich schneller sein. Wenn Sie einen anderen Zweig als den aktuellen HEAD des übergeordneten Repos ziehen möchten, fügen Sie einfach ein Argument hinzu (z. B. git pull parent topic-branch
). Wenn dies eine einmalige Sache ist, können Sie das Hinzufügen der Fernbedienung einfach überspringen: git pull <parent-url> [branch]
.
Ziehen ist eine Kombination aus Abrufen und Zusammenführen. Sobald Sie dies getan haben, haben Sie ein neues Zusammenführungs-Commit, das Sie vermutlich irgendwann wieder in Ihr öffentliches Repository verschieben möchten.
Der entscheidende Punkt hier, falls nicht klar ist, ist, dass das Ziehen aus dem übergeordneten (Upstream-) Repository nicht anders ist als das Ziehen von Ihrem öffentlichen Klon von Child, Ihrem aktuellen Repository. In jedem Fall rufen Sie ein Repository mit einem gemeinsamen Verlauf ab und fügen es in Ihren aktuellen Zweig ein. Und natürlich, da Sie zusammenführen, ist ein Arbeitsbaum erforderlich - das muss also in Ihrem lokalen Repo gemacht werden. Das auf github gehostete Repo ist im Wesentlichen eine Möglichkeit, das zu veröffentlichen, was Sie lokal getan haben. Alles, was Sie wirklich damit tun können, ist Push/Pull, und durchsuchen Sie, was dort ist.
Sie haben es rückwärts - Sie tun Ihre Arbeit in Ihrem lokalen Repo, und dann git push, um die Fernbedienung zu aktualisieren. – Cascabel
Ja, das verstehe ich, aber es gibt nur wenige Änderungen im ursprünglichen Projekt, die ich in meine Arbeitskopie einbauen muss. Aus diesem Grund muss ich mein lokales Repository mit den Aktualisierungen des ursprünglichen Projekts aktualisieren, während die lokalen Codeänderungen unverändert bleiben. – zengr
Genau das haben wir alle erklärt. Ich möchte nur darauf hinweisen, dass Sie den Github-Repo nicht aktualisieren, sondern ..., um Ihren lokalen Repo zu aktualisieren. - Sie aktualisieren den lokalen Repo und dann den Github-Repo. – Cascabel