Merge Commit von verschiedenen Fork des gleichen Repos in GitHub

8

Wie kann ich eine Pull-Anforderung, die für ein übergeordnetes Repository meiner Gabel gestellt wurde, in die Codeleiste meiner Gabel anwenden? Ich bin mir nicht sicher, ob jemand diese Frage verstehen kann :) Ich werde versuchen, sie anhand eines Beispiels zu erklären.

Es gibt ein Repo https://github.com/balupton/history.js , es gibt einige Pull-Anforderungen für dieses Repo, die nicht in die Codebasis eingefügt wurden, zum Beispiel dieses https://github.com/balupton/history .js / pull / 251 / Commits . Aus irgendeinem Grund akzeptiert der ursprüngliche Entwickler dies nicht. Jetzt habe ich dieses Repo https://github.com/prudnikov/history.js gegabelt und möchte diese spezielle Pull-Anfrage in mein Mu-Repository zusammenführen. Wie kann ich das machen?

Vladimir Prudnikov
quelle
Github wurde entwickelt, um dies zu erschweren ... da das Umsatzmodell auf Unternehmenskonten basiert. Wenn Sie ein Upgrade auf eine Organisation durchführen, ist dies möglicherweise einfacher.

Antworten:

5

Sie sollten in der Lage sein, das andere Repo einfach herunterzuziehen und es mit Ihrem zusammenzuführen.

git pull {url-of-repo-with-commit-you-want-to-merge-in}

Dadurch wird das erwähnte Repo abgerufen und bei allen Commits, die Sie nicht haben, automatisch in den Commit eingefügt.

In Ihrem Beispiel also, wenn Sie sich in Ihrem Hauptzweig befinden oder wenn Sie es in einem anderen Zweig testen möchten:

git pull git://github.com/dantipa/history.js.git
remote: Counting objects: 9, done.
remote: Compressing objects: 100% (1/1), done.
remote: Total 5 (delta 4), reused 5 (delta 4)
Unpacking objects: 100% (5/5), done.
From git://github.com/dantipa/history.js
 * branch            HEAD       -> FETCH_HEAD
Updating e84ad00..e2d5251
Fast-forward
 scripts/uncompressed/history.js |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Nachdem das andere Commit mit Ihrem zusammengeführt wurde, können Sie mit dieser zusätzlichen Änderung wieder auf Ihre eigene Fernbedienung übertragen.

Acht Tage Unwohlsein
quelle
Aber dies wird mit allen Commits, die vor dem aktuellen HEAD liegen, den ganzen Zweig anziehen, oder?
Vladimir Prudnikov
2
Oh, ich habe eine Idee. Ich sollte lokal einen neuen Zweig erstellen, Commits von anderen Repos abrufen, dann zurück zum Master und die gewünschten Commits auswählen.
Vladimir Prudnikov
Ja, in einem anderen Zweig zu arbeiten, aus dem Sie auswählen können, wäre sicherer und würde mehr Kontrolle ermöglichen
Acht Tage Unwohlsein
Seien Sie vorsichtig, wenn Sie tatsächlich Commits von einem anderen gegabelten Repo auswählen, da dies zu Verwirrung führen kann, wenn Sie Ihre eigene Pull-Anfrage für das ursprünglich gegabelte Repo erstellen.
Chris