Nehmen wir an, es gibt ein Repository someone/foobar
auf GitHub, zu dem ich gegabelt habe me/foobar
.
Wie ziehe ich neue Commits aus dem übergeordneten Repository direkt auf meinen Fork , ohne eine separate Fernbedienung hinzufügen zu müssen, und denke daran, regelmäßig von dort abzurufen?
Das Ziel ist:
git pull
aus dem übergeordneten Repository abrufengit push
alles an meine Gabel schicken
Antworten:
Öffnen Sie das gegabelte Git-Repository me / foobar .
Klicken Sie auf Vergleichen :
Sie erhalten die Benachrichtigung:
Klicken Sie auf dieser Seite auf Basiswechsel wechseln :
Dann können Sie alle Commits sehen, die nach dem Tag, an dem Sie sie gegabelt haben, an jemanden / Foobar gemacht wurden .
Klicken Sie auf Pull-Anfrage erstellen :
Geben Sie der Pull-Anfrage einen Titel und möglicherweise eine Beschreibung und klicken Sie auf Pull-Anfrage erstellen .
Scrollen Sie auf der nächsten Seite zum Ende der Seite und klicken Sie auf Pull-Anforderung zusammenführen und Zusammenführung bestätigen .
Dein Git-Repository me / foobar wird aktualisiert.
Bearbeiten: Rebase-Optionen werden hier angezeigt:
quelle
Edit
Schaltfläche und wechseln Sie manuellbase fork
zume/foobar
undhead fork
zusomeone/foobar
. Auf diese Weise ist es viel klarerEs gibt jedoch eine Einschränkung:
Dies ist perfekt, wenn Sie der einzige sind, der Änderungen an Ihrer Gabel vornimmt.
Wenn es jedoch mit anderen Personen geteilt wird, müssen Sie möglicherweise von Ihrer Gabel ziehen. In diesem Fall ist eine separate Fernbedienung die einzige Lösung.
Edit:
Eigentlich Sie können
git pull [email protected]:me/foobar
, die entfernt die Einschränkung.Sie haben die Wahl, an welche Sie sich leichter erinnern können.
quelle
Ich habe dazu eine ziemlich einfache Methode mit der GitHub-Web-Benutzeroberfläche verwendet:
me/foobar
).quelle
Die "Pull" App ist eine automatische Lösung zum Einrichten und Vergessen. Der Standardzweig Ihrer Gabel wird mit dem Upstream-Repository synchronisiert.
Besuchen Sie die URL, klicken Sie auf die grüne Schaltfläche "Installieren" und wählen Sie die Repositorys aus, in denen Sie die automatische Synchronisierung aktivieren möchten.
Der Zweig wird einmal pro Stunde direkt auf GitHub aktualisiert. Auf Ihrem lokalen Computer müssen Sie den Hauptzweig ziehen, um sicherzustellen, dass Ihre lokale Kopie synchron ist.
Auch beantwortet in https://stackoverflow.com/a/58965171/946850 .
quelle
Eine andere Möglichkeit ist die Verwendung der
Update from upstreamRepoName/master
Schaltfläche in GitHub für Mac (und ich nehme an, GitHub für Windows).quelle
Ich weiß nicht, wie es geht, ohne eine weitere Fernbedienung hinzuzufügen, aber ich füge immer das Repo hinzu, von dem ich mich als
upstream
Fernbedienung gegabelt habe, damit ich einfach Folgendes tun kann:Dadurch werden alle Zweige inkl. Synchronisiert. neue erstellen (entfernen Sie die,
refs/heads/
um nur vorhandene Zweige zu aktualisieren). Wenn einer Ihrer Zweige auseinander gegangen ist, wird ein Fehler für diesen Zweig ausgegeben.quelle