Ich habe gerade ein Projekt in Github gespalten. Ich habe Änderungen vorgenommen und eine Pull-Anfrage gesendet. Der Besitzer hat meine Gabel mit dem Hauptprojekt zusammengeführt und danach einige Änderungen vorgenommen. Daher ist mein Fork derzeit nicht mit dem Hauptprojekt aktualisiert. Ich vermisse die Änderungen, die er nach dem Zusammenführen meiner Pull-Anfrage vorgenommen hat. Wie kann ich meine Gabel mit dem Hauptprojekt aktualisieren? Gibt es eine Möglichkeit, dies im Webinterface zu tun?
Vielen Dank
Antworten:
Durch das Forken eines Projekts wird ein separates Repo erstellt, das nicht aktualisiert wird, wenn sich das ursprüngliche Repo ändert. Es
git
ist jedoch ziemlich einfach, manuell zu aktualisieren.Sie benötigen die Hilfe eines dritten Repositorys (Ihre lokale Kopie reicht aus). Es gibt 3 Repos:
git clone [email protected]:your-username/projectname.git
haben und dass jeder Branch verwendetmaster
.Angenommen, "Origin" und "Local" befinden sich im selben Status, und "Upstream" hat mindestens 1 Commit Vorsprung (Zusammenführung und alle nachfolgenden Änderungen).
Fügen Sie zuerst das vorgelagerte Projekt als Git-Remote hinzu :
Dann ziehen (was bedeutet , holt und dann verschmelzen automatisch) die Änderungen von dem der Remote -
master
Niederlassung in Ihren lokalen Repository des aktuellen (master
) Zweig:Jetzt ist Ihr lokales Repository mit synchronisiert
upstream
. Zum Schluss schieben Sie Ihr lokales Repo an Ihre Github-Gabel:Jetzt ist alles synchron.
quelle
Sie müssen eine Fernbedienung hinzufügen (siehe GitHub-Hilfe ) und von dieser neuen Fernbedienung abrufen.
quelle
Ich fand, dass diese Antwort die ursprüngliche Antwort ergänzt, da es sich nur um die Synchronisierung eines Zweigs (Masters) handelt. Wenn der Zweig seit Ihrer Abzweigung auf dem Upstream erstellt wurde, ist es ein wenig aufwändiger, ihn auf Ihrer Abzweigung zu erstellen.
Die kurze Antwort lautet: Führen Sie diesen Befehl aus, um Ihren Zweig mit jedem Zweig im Upstream-Repository zu aktualisieren.
Was dies nicht tut, ist, alle Zweige von Ihrer Gabel zu entfernen, die vom Upstream gelöscht wurden. Es gibt keine Möglichkeit, dies zu automatisieren, insbesondere wenn Sie auf Ihrer Gabel Zweige erstellt haben.
quelle