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
fixZweig (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 masterder 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 upstreamRepo).
Siehe beispielsweise " Workflow zum Verwalten von Pull-Anforderungen für gemeinsam genutzte Repos in Github ".
Mit anderen Worten, upstreamkann 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 upstreamzu 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 fixzu Ihrem aktualisierten Zweig master).
Wenn Sie seit Ihrer Pull-Anfrage mehr Arbeit geleistet haben, würde ich nicht zusammenführen, upstreamwenn 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 masterCommits (in meinem lokalen Repo abgerufen) wiedergegeben, vorausgesetzt, dies masterist 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, upstreamohne dass eine Zusammenführungsauflösung erforderlich ist. Das Zusammenführen dieser neuen Commits im upstreamRepo bedeutet eine einfache Zusammenführung im Schnellvorlauf.
A git pull --rebaseohne Angabe des Zweigs, auf dem Sie Ihren (derzeit ausgecheckten) fixZweig 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 fixZweig löschen ?
Ja, Sie können den Zweig angeben, der das Ziel der Pull-Anforderung sein soll, z. B. ' master'.
Dadurch wird Ihr fixZweig nicht gelöscht , sondern zusätzlich zu dem masterin Ihrem Repo abgerufenen Upstream wiedergegeben .
:)