Einrichten des Upstream-Zweigs auf Remote mit einem anderen Namen als Ihrem lokalen
Lesezeit: 4 Minuten
PositivTyp
Ich habe einen neuen Zweig aus einem vorhandenen PR auf Github erstellt, indem ich das Dropdown-Menü zum Durchsuchen von Zweigen verwendet habe … und einen neuen Zweignamen eingegeben, damit basierend auf dem von mir betrachteten PR ein neuer Zweig erstellt wird.
Ich ging dann vor Ort und tat a git checkout -b myBranch
Wie synchronisiere ich meine Filiale mit der Fernbedienung? Ich habe meinen lokalen Zweig nicht mit dem gleichen Namen wie die Fernbedienung benannt.
git push -u origin my_branch – Ich nehme an, dass dies der Fall ist, wenn Sie bereits Dinge synchronisiert haben UND dass die Namen der lokalen und entfernten Zweige genau gleich sind.
Und was ist mit meiner Situation?
Ich habe es versucht, aber es ist ein Fehler aufgetreten
▶ git branch –set-upstream-to=origin/feature/WA-3 WA-3-Fehler: Der angeforderte Upstream-Branch „origin/feature/WA-3“ existiert nicht
Weitere Informationen, um zu helfen
Der Name des Remote-Zweigs lautet feature/WA-3 während mein Einheimischer genannt wird W3
▶ git remote show origin
* remote origin
Fetch URL: https://github.com/xxxx.git
Push URL: https://github.com/xxxx.git
HEAD branch: develop
Remote branches:
develop tracked
feature/WA-3 new (next fetch will store in remotes/origin)
master tracked
refs/remotes/origin/w9-homepage stale (use 'git remote prune' to remove)
w1-log-in tracked
wa-9 tracked
Local branches configured for 'git pull':
develop merges with remote develop
w1-log-in merges with remote w1-user-can-log-in
w9-homepage merges with remote wa-9-homepage
Local refs configured for 'git push':
develop pushes to develop (up to date)
w1-log-in pushes to w1-log-in (up to date)
new (next fetch will store in remotes/origin) klingt komisch. Hast du versucht zu holen?
– Choroba
1. Juni 2017 um 22:13 Uhr
Beantwortet das deine Frage? Wie kann ich einen lokalen Git-Zweig einfach auf einen Remote-Zweig mit einem anderen Namen übertragen?
– pkamb
19. Mai 2020 um 7:24 Uhr
Choroba
Verwenden Sie die Doppelpunktnotation:
git push -u origin local_branch:remote_branch
▶ git branch -u feature/WA-3:WA-3 Fehler: Der angeforderte Upstream-Branch „feature/WA-3:WA-3“ existiert nicht
– PositivTyp
1. Juni 2017 um 21:46 Uhr
Ist das ein schlechter Name, den ich ihm in Github gegeben habe? warum kann er es nicht finden?
– PositivTyp
1. Juni 2017 um 21:46 Uhr
Ich habe den Remote-Zweig buchstäblich als benannt feature/WA-3
– PositivTyp
1. Juni 2017 um 21:47 Uhr
Wie seltsam, ich sehe den Zweig auf Github, aber wenn ich das tue, listet er diesen bestimmten Zweig nicht auf: ” ▶ git branch -r origin/HEAD -> origin/develop origin/develop origin/master origin/w1-log-in origin/w9 origin/wa-9-homepage
– PositivTyp
1. Juni 2017 um 21:49 Uhr
Ich kann das wirklich nicht glauben. Ich habe die Fernbedienung gelöscht und einen neuen Zweig von diesem PR-Namen einfach neu erstellt W3 und gleicher Deal, es sieht es nicht einmal, wenn ich eins mache git branch -r
– PositivTyp
1. Juni 2017 um 21:53 Uhr
Frage an 42 steht mit der Ukraine
Ich bin mir nicht sicher, ob ich hier etwas vermisse, ich falle immer darauf zurück, ein Anfänger zu sein, wenn es darum geht.
Sie können Ihren Branch einfach umbenennen, zum Beispiel mit Lazygit, was es zu einem Ein-Knopf-Schritt macht, oder einfach einen neuen Branch mit dem richtigen Namen aus Ihrem gegebenen auschecken.
Probiere es erstmal nur mit push:
$ git push
fatal: The upstream branch of your current branch does not match
the name of your current branch. To push to the upstream branch
on the remote, use
git push origin HEAD:master
To push to the branch of the same name on the remote, use
git push origin HEAD
To choose either option permanently, see push.default in 'git help config'.
Sie sehen hier zwei Optionen, wählen Sie letztere.
Benennen Sie daher zunächst Ihren Zweig in den Namen um, den er im Repository haben muss. Sobald Ihr lokaler Branch-Name derjenige ist, den Sie im Repository sehen möchten, müssen Sie nur noch ausführen
git push -f origin HEAD
sodass der neue lokale Zweig (HEAD) auf den entfernten Master (Ursprung) geschoben wird. Es drückt auf die Fernbedienung.
Sieht aus wie:
$ git push -f origin HEAD
Enumerating objects: 21, done.
Counting objects: 100% (21/21), done.
Delta compression using up to 8 threads
Compressing objects: 100% (9/9), done.
Writing objects: 100% (11/11), 1019 bytes | 1019.00 KiB/s, done.
Total 11 (delta 4), reused 0 (delta 0), pack-reused 0
remote:
remote: To create a merge request for my_new_remote_branch_name_that_is_now_the_name_of_HEAD, visit:
remote: https://gitlab.com/my_URL_to_the_repo
remote:
To gitlab.com:my_URL_to_the_repo
* [new branch] HEAD -> my_new_remote_branch_name_that_is_now_the_name_of_HEAD
Der Befehl git origin HEAD ist nur kurz für git push -u origin HEAD:my_new_remote_branch_name_that_is_now_the_name_of_HEAD
Was dasselbe ist wie: git push --set-upstream origin HEAD:my_new_remote_branch_name_that_is_now_the_name_of_HEAD
Nur wenn Sie einen Remote-Namen wählen möchten, der nicht der von HEAD ist, benötigen Sie das lange Kommando der Antwort.
14294800cookie-checkEinrichten des Upstream-Zweigs auf Remote mit einem anderen Namen als Ihrem lokalenyes
new (next fetch will store in remotes/origin)
klingt komisch. Hast du versucht zu holen?– Choroba
1. Juni 2017 um 22:13 Uhr
Beantwortet das deine Frage? Wie kann ich einen lokalen Git-Zweig einfach auf einen Remote-Zweig mit einem anderen Namen übertragen?
– pkamb
19. Mai 2020 um 7:24 Uhr