Ich habe eine Gabel ( origin
) aus einem Projekt ( upstream
) auf Github. Jetzt hat das Upstream-Projekt einen neuen Zweig hinzugefügt, den ich in meine Gabel importieren möchte. Wie mache ich das?
Ich habe versucht, die Fernbedienung auszuchecken und darüber einen Zweig zu erstellen, aber dadurch wird der Zweig so konfiguriert, dass git push
versucht wird, auf Folgendes zuzugreifen upstream
:
git checkout upstream/branch
git checkout -b branch
bearbeiten
Vielleicht war das nicht klar, aber ich möchte den Zweig zu meinem lokalen Repository hinzufügen, damit ich ihn über origin
(meine Gabelung) über pushen kann git push
. Da vorgelagerte Repositorys normalerweise schreibgeschützt sind und Sie einen Beitrag leisten.
Ich möchte also im Grunde einen nicht existierenden Zweig auschecken, aus origin
dessen Inhalt gezogen wird upstream
.
git fetch upstream
im ersten Schritt eine bessere Option ist, da danachgit pull upstream
mehr Maßnahmengit remote add ...
für dieupstream
.You asked to pull from the remote 'upstream', but did not specify a branch. Because this is not the default configured remote for your current branch, you must specify a branch on the command line.
Das Hinzufügen des Zweigstellennamens am Ende des Befehls führt zu einer Zusammenführung des Zweigs im Upstream mit dem aktuellen lokalen Zweig, anstatt die Erstellung eines neuen lokalen Zweigs zu ermöglichen. Irgendwelche Ideen?git pull upstream
durchgit fetch upstream
löste das Problem, und die folgenden Schritte funktionierten.ich würde ... benutzen
quelle
Ich hatte auch Probleme damit und Google hat mich hierher gebracht. Die Lösungen funktionierten jedoch nicht. Mein Problem war, dass beim Hinzufügen meines Upstreams meine Git-Konfiguration so eingerichtet wurde, dass nur der Master und nicht alle Zweige abgerufen werden. zB sah es so aus
Das folgende Bearbeiten von .git / config hat mein Problem behoben
quelle
Die folgenden Schritte haben bei mir gut funktioniert (vorausgesetzt, der Name des Upstream-Zweigs lautet
branch
):quelle
--track
?quelle
push
pushen zuupstream
.Ich hatte ein etwas komplizierteres Szenario, in dem ich bereits eine
upstream
Definition in meiner Gabel hatte (aus dem kanonischen Repo), aber einen Zweig von einer anderen Gabel auschecken musste. Um dies zu erreichen, ist der Prozess etwas anders. Hier ist die Konfiguration, mit der ich gelandet bin:Jetzt können Sie auch einen Zweig von der
<other_user>
Gabel aus auschecken.Dadurch erhalten Sie einen lokalen Zweig, der von der Gabelung abgeleitet ist.
Um diesen lokalen Zweig zu pushen, musste ich mit meinem Push-Befehl spezifisch sein.
quelle