Was als nächstes zu tun ist, ist: weiterhin neue Funktionen beizutragen oder andere Fehler in ihren eigenen Zweigen zu beheben (nur auf Ihre Gabel geschoben).
Das heißt, Ihre Gabel bleibt, aber die Zweige in Ihrer Gabel können kommen und gehen.
Sie können die Verzweigung auch entfernen, wenn Sie nicht vorhaben, weitere Beiträge zu leisten. Der entsprechende Eintrag in "Repositorys, zu denen Sie beitragen" wird jedoch entfernt .
Es ist einfacher:
- Löschen Sie Ihren
fix
Zweig (tatsächlich wird er jetzt für Sie gelöscht ) auf Ihrer Gabel (und in Ihrem lokalen geklonten Repo: siehe " Löschen eines Git-Zweigs sowohl lokal als auch remote ").
git pull upstream master
(Wenn dies master
der Zweig war, in den Ihr Fix integriert wurde: Die Zusammenführung erfolgt im Schnellvorlauf): Derzeit ist keine erneute Basis erforderlich.
- Erstellen Sie einen Fix-Zweig über Ihrem aktualisierten lokalen
master
(jetzt mit dem neuesten von upstream master
).
Vergessen Sie jedoch niemals einen Schritt, bevor Sie eine zukünftige Pull-Anfrage senden:
Basen Sie zuerst Ihren aktuellen Zweig ( fix
) vom vorgelagerten Zielzweig zurück
( Daupstream
es sich um das ursprüngliche Repo handelt, das Sie gegabelt haben: siehe " Was ist der Unterschied zwischen Ursprung und Upstream in Github? ")
Bevor Sie etwas an das ursprüngliche Repo ("Upstream") zurücksenden, müssen Sie sicherstellen, dass Ihre Arbeit auf dem neuesten Stand des ursprünglichen Repos basiert (andernfalls führt die Pull-Anforderung nicht zu einer Schnellvorlauf-Zusammenführung, sobald sie angewendet wurde zurück auf upstream
Repo).
Siehe beispielsweise " Workflow zum Verwalten von Pull-Anforderungen für gemeinsam genutzte Repos in Github ".
Mit anderen Worten, upstream
kann sich weiterentwickeln (neue Commits werden hinzugefügt), während Sie damit beschäftigt sind, Dinge zu reparieren. Sie müssen Ihre Fixes zusätzlich zu den neuesten Arbeiten aus dem Upstream erneut abspielen, um sicherzustellen, dass Ihre Commits weiterhin mit den neuesten kompatibel sind upstream
.
Das OP Santosh Kumar fragt in den Kommentaren :
Ich habe gezogen und verschmolzen von upstream
zu Meister, was nun?
Wenn Sie seit Ihrer letzten Pull-Anforderung keine neuen Korrekturen vorgenommen haben, siehe oben (löschen und erstellen Sie einen neuen Zweig zusätzlich fix
zu Ihrem aktualisierten Zweig master
).
Wenn Sie seit Ihrer Pull-Anfrage mehr Arbeit geleistet haben, würde ich nicht zusammenführen, upstream
wenn ich eine neue Pull-Anfrage stellen möchte: Ich würde ziehen und neu gründen :
git pull --rebase upstream master
Auf diese Weise wird meine gesamte neue lokale Arbeit zusätzlich zu den letzten upstream
master
Commits (in meinem lokalen Repo abgerufen) wiedergegeben, vorausgesetzt, dies master
ist der Zielzweig, der meine zukünftige Pull-Anforderung integriert.
Dann kann ich meine lokale Arbeit auf ' origin
' verschieben, was meine Gabelung auf GitHub von ist upstream
.
Und von meinem Fork auf GitHub aus kann ich sicher eine Pull-Anfrage stellen, da ich weiß, dass nur neue Commits hinzugefügt werden, upstream
ohne dass eine Zusammenführungsauflösung erforderlich ist. Das Zusammenführen dieser neuen Commits im upstream
Repo bedeutet eine einfache Zusammenführung im Schnellvorlauf.
A git pull --rebase
ohne Angabe des Zweigs, auf dem Sie Ihren (derzeit ausgecheckten) fix
Zweig neu gründen möchten, würde nicht funktionieren:
Das ( git pull --rebase
) sagt:
You asked to pull from the remote '`upstream`', but did not specify a branch.
Soll ich endlich den Master anhängen? Und was wird das tun? Wird es meinen fix
Zweig löschen ?
Ja, Sie können den Zweig angeben, der das Ziel der Pull-Anforderung sein soll, z. B. ' master
'.
Dadurch wird Ihr fix
Zweig nicht gelöscht , sondern zusätzlich zu dem master
in Ihrem Repo abgerufenen Upstream wiedergegeben .
:)