Führen Sie einen Remote-Zweig mit einem anderen lokalen Zweig zusammen
Lesezeit: 3 Minuten
Dies könnte eine doppelte Frage sein, aber ich konnte nicht herausfinden, wie ich vorgehen soll. Ich versuche, sagen wir, einen Remote-Zweig zusammenzuführen remoteBranch die kein Master-Zweig zu meinem lokalen Zweig ist localBranch.
Einer meiner Entwickler hat einen neuen Zweig für einen API-Endpunkt im Remote-Zweig hinzugefügt remoteBranch. Als Frontend-Entwickler muss ich diesen Zweig abrufen und mit meinem lokalen Entwicklungszweig zusammenführen localBranch um diesen API-Endpunkt zu nutzen. Wie kann ich das machen?
Können Sie erklären, warum Sie nicht verwenden können git merge remoteBranch während localBranch ist ausgecheckt?
– mkrieger1
17. August 2017 um 14:02 Uhr
Diese Frage zeigt sehr wenig Forschungsaufwand einer gut dokumentierten Funktion.
– Jules
17. August 2017 um 14:28 Uhr
Die Dinge sind verwirrend, wenn wir in solchen Dingen nicht genug Erfahrung haben, selbst wenn es gut dokumentierte Dinge gibt. Sie werden mit ausreichend nahen Merkmalen verwirrt. Deshalb habe ich um Hilfe gebeten. Tut mir leid, wenn es Ihre Erwartungen nicht erfüllt hat. Ich lerne nur Sachen.
error: pathspec 'remoteBranch' did not match any file(s) known to git.
– Benutzer1012181
17. August 2017 um 14:09 Uhr
Wenn ich versuche zusammenzuführen, erhalte ich diese Meldung: not something we can merge
– Benutzer1012181
17. August 2017 um 14:15 Uhr
Es sollte auch ohne den Ursprung funktionieren. Versuchen git merge remoteBranch
– hspander
17. August 2017 um 14:16 Uhr
@ user1012181 Offensichtlich müssen Sie Ihre verwenden real Zweignamen, nicht wörtlich remoteBranch…
– mkrieger1
17. August 2017 um 14:28 Uhr
@mkrieger1 hat den echten Zweignamen verwendet 🙂
– Benutzer1012181
17. August 2017 um 14:29 Uhr
Laut der Dokumentation von git-merge Sie können jede andere Filiale mit Ihrer lokalen Filiale zusammenführen.
Ihre aktuelle Filiale muss Ihre sein localBranch. Um den Remote-Zweig zusammenzuführen, geben Sie einfach Folgendes ein:
git merge remoteName/remoteBranch
In diesem Fall habe ich den Namen Ihrer Fernbedienung angenommen, die den Zweig enthält, den Sie anrufen müssen remoteName. Es kann anders heißen wie origin oder upstream. Sie müssen sicherstellen, dass Ihr lokaler Verweis auf den Entfernungszweig aktuell ist. Führen Sie also a fetch Befehl vor dem Zusammenführen wie folgt:
wo remoteName wahrscheinlich “origin” ist, können Sie das finden git remote -v
Manchmal möchten Sie jedoch möglicherweise eine Rebase durchführen (den Verlauf neu schreiben, um die Abfolge von Commits “sauber” zu halten), anstatt zusammenzuführen (was auch einen Merge-Commit hinzufügt).
Sie können einen remoteBranch in einen localBranch umwandeln, indem Sie Folgendes verwenden:
git fetch
git checkout localBranch
git rebase remoteName/remoteBranch
um einen bestimmten Zweig von entfernt nach lokal zu holen
Dann schätze ich, ich bin eigentlich neu bei Git, dass ich das kann git checkout branchIwantToMergeInto und dann tun git merge <branch> wo gibt es jetzt eine lokale Kopie von <branch> nach dem ursprünglichen Befehl.
Sagen wir also, ich arbeite an einem Zweig hotfix lokal und ich muss diesen Zweig mit Änderungen aktualisieren, die an der Fernbedienung vorgenommen wurden staging Zweig. Ich würde die folgende Befehlsfolge ausführen.
Aber vorher git checkout hotfix Ich würde sicherstellen, dass es keine nicht nachverfolgten Änderungen gibt (wiederum bin ich ein Git-Neuling, der mit erweiterten Befehlen wie Rebase usw. nicht vertraut ist), indem ich dies tue git add ., git commit -m "my commit message" an alle relevanten Branches, die einen Konflikt verursachen könnten.
11450100cookie-checkFühren Sie einen Remote-Zweig mit einem anderen lokalen Zweig zusammenyes
Können Sie erklären, warum Sie nicht verwenden können
git merge remoteBranch
währendlocalBranch
ist ausgecheckt?– mkrieger1
17. August 2017 um 14:02 Uhr
Diese Frage zeigt sehr wenig Forschungsaufwand einer gut dokumentierten Funktion.
– Jules
17. August 2017 um 14:28 Uhr
Die Dinge sind verwirrend, wenn wir in solchen Dingen nicht genug Erfahrung haben, selbst wenn es gut dokumentierte Dinge gibt. Sie werden mit ausreichend nahen Merkmalen verwirrt. Deshalb habe ich um Hilfe gebeten. Tut mir leid, wenn es Ihre Erwartungen nicht erfüllt hat. Ich lerne nur Sachen.
– Benutzer1012181
17. August 2017 um 14:33 Uhr