Einrichten des Upstream-Zweigs auf Remote mit einem anderen Namen als Ihrem lokalen

Lesezeit: 4 Minuten

Benutzeravatar von PositiveGuy
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)

Geben Sie hier die Bildbeschreibung ein

  • 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

Benutzeravatar von choroba
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


die Frage an 42 steht mit dem Benutzer-Avatar der Ukraine
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.

1429480cookie-checkEinrichten des Upstream-Zweigs auf Remote mit einem anderen Namen als Ihrem lokalen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy