560 Stimmen

Wie kann ich ungemeldete Upstream-Pull-Requests von anderen Forks in meinen Fork übernehmen?

Ein Projekt auf GitHub, von dem ich einen Fork habe, hat eine neue Pull-Anfrage, die ich in meinen Fork ziehen möchte, die der Autor aber noch nicht gezogen hat.

Gibt es eine einfache Möglichkeit, Pull Requests von anderen Forks in meinen Fork zu übernehmen? Gibt es hier noch etwas, das ich übersehe?

9voto

MindTooth Punkte 4632

Ich würde wie folgt vorgehen;

git checkout master
git remote add #NAME# #ADDRESS TO REPO#
git fetch #USERNAME#
git checkout -b test_fork
git rebase #NAME#/#BRANCH#

Ich habe die Änderungen jetzt in einen Testzweig mit dem Namen test_fork . Damit alle Änderungen meinen Baum nicht beschmutzen.

Optional können Sie, wie oben beschrieben, cherry-pick verwenden, um einen bestimmten Commit auszuwählen, wenn Sie dies bevorzugen.

Gute Reise :)

3voto

Richard Punkte 49664

Ich verwende dafür ein praktisches Skript. Ich führe das Skript aus, indem ich eintippe:

git prfetch upstream

und erhält alle Pull-Requests aus dem Upstream-Fork.

Um das Skript zu erstellen, erstellen Sie eine Datei ~/bin/git-prfetch .

Die Datei sollte Folgendes enthalten:

#!/bin/bash

if [ -z "$1" ]; then
    echo "Please supply the name of a remote to get pull requests from."
    exit 1
fi

git fetch $1 +refs/heads/\*:refs/remotes/$1/\* +refs/pull/\*/head:refs/remotes/$1/pr/\*

Stellen Sie sicher, dass Ihr Pfad das Skript enthält, indem Sie es einstellen:

export PATH="$HOME/bin:$PATH"

Sie können diese Datei hinzufügen zu ~/.bashrc um die Änderung dauerhaft zu machen.

Fügen Sie nun den Fork hinzu, von dem Sie die Pull-Requests erhalten möchten:

git remote add upstream https://github.com/user/repo.git

Und dann

git prfetch upstream

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X