Pull-Remote-Zweig ohne Merge

Lesezeit: 4 Minuten

Benutzer-Avatar
Carole

Ich habe eine Verzweigung erstellt b1 und ich habe einige Änderungen daran vorgenommen und es in das Remote-Repository verschoben:

git branch b1
git checkout b1
git add newfile.txt
git commit -m "adding a new file"
git push origin b1

Auf einem anderen Computer, der mit dem Remote-Repository verbunden ist, habe ich versucht, den Zweig zu ziehen, ohne ihn mit dem Master zusammenzuführen:

$git branch
*master
$git pull origin b1
remote: Counting objects: 4, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
From sl*******02:/opt/git/projet1
 * branch            b1    -> FETCH_HEAD
Updating fca3b48..1d96ceb
Fast-forward
 newfile.txt |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 newfile.txt

$git branch
*master

was ich erwartet habe:

$git branch
*master
b1

  • Es scheint, dass Sie einen Schritt verpasst haben, um einen neuen Zweig auszuchecken, bevor Sie Ihren Code übertragen?

    – Vuong

    23. Mai 2018 um 10:14 Uhr

  • git branch listet lokale Filialen auf, da Sie noch nie ausgecheckt haben b1 es befindet sich nur in der Fernbedienung, verwenden git branch -a um das auch aufzulisten. Um es als lokalen Zweig zu bekommen, check it out with git checkout b1erstellt dies eine lokale Verzweigung aus der entfernten Verzweigung und richtet eine Upstream-Zuordnung zwischen ihnen ein.

    – Lasse V. Karlsen

    23. Mai 2018 um 10:17 Uhr

  • @LasseVågsætherKarlsen das bekomme ich, wenn ich b1 auschecke error: pathspec 'b1' did not match any file(s) known to git.

    – Carole

    23. Mai 2018 um 10:21 Uhr


  • Versuchen git fetch ohne Parameter zuerst, oder git fetch origin

    – Lasse V. Karlsen

    23. Mai 2018 um 13:11 Uhr

Sie können verwenden git fetch origin b1 um nur entfernte Verzweigungen ohne Merge abzurufen.

Sehen : https://git-scm.com/docs/git-fetch

Grundsätzlich git pull ist eine Abkürzung zu git fetch && git merge

Führen Sie Merge aus, da Sie sich auf dem Master-Branch und nicht auf Ihrem lokalen b1-Branch befanden.

Du stellst eigentlich zwei Fragen:

  • im Titel – wie man ohne Zusammenführen zieht (ich bin ursprünglich wegen dieser Frage hierher gekommen;)
  • in der Beschreibung – wie man einen Zweig auscheckt, ohne ihn mit dem Master zusammenzuführen

Remote-Zweig ohne Merge ziehen

# Assuming you are on wanted branch (b1) already

git pull --rebase

Nein mergenur rebase.

Remote-Zweig auschecken (vom Ursprung)

git fetch 
git checkout b1

Keine Zusammenführung zu masterNeue Abteilung b1 geschaffen.

  • Dies war definitiv die nützlichste Antwort für mich. Das Durchziehen einer Rebase mit einem einzigen Befehl ist sehr praktisch.

    – Zoomen

    21. April um 14:08 Uhr

Sie möchten den Remote-Zweig mit auschecken

git checkout b1

Wenn Sie eine Git-Version < 1.6.6 verwenden, können Sie dies stattdessen tun

git checkout -b b1 origin/b1

  • Wie kann ich einen Zweig auschecken, wenn dieser noch nicht existiert?

    – Carole

    23. Mai 2018 um 10:10 Uhr

  • @Carole ist standardmäßig die einzige verfügbare Fernbedienung, die Sie bereits abgerufen haben

    – Demokratische Republik Kongo

    23. Mai 2018 um 10:11 Uhr


  • Kannst du mehr erklären?

    – Carole

    23. Mai 2018 um 10:22 Uhr

  • @Carole Sie müssen zuerst git fetch ausführen, dies ruft alle entfernten Zweige ab, und Sie können sie mit git branch -a sehen, wenn Sie git checkout b1 ausführen, wechseln Sie zum Zweig origin/b1

    – Demokratische Republik Kongo

    23. Mai 2018 um 10:30 Uhr

Es ist auch vor dem Begehen möglich

mit den folgenden Befehlen

git stash
git pull
git stash apply

Benutzer-Avatar
Erzhijacker

git remote update origin —prune

  • Willkommen bei Stapelüberlauf. Befehle sind einfacher zu lesen, wenn sie als Code formatiert sind. Nur-Code-Antworten können im Allgemeinen verbessert werden, indem eine Erklärung hinzugefügt wird, wie und warum sie funktionieren und im Fall von Befehlen, wie die erwartete Ausgabe aussehen würde, wenn sie erfolgreich wäre, oder wie die Ergebnisse des Befehls zu interpretieren sind, falls zutreffend.

    – Jason Aller

    2. August 2020 um 17:25 Uhr

Benutzer-Avatar
Pintz

Ich habe es so gemacht:

Schritte:

  • Kasse in einer anderen Filiale
  • git stash
  • den lokalen Zweig gelöscht, in dem ein Zusammenführungsfehler/Konflikt aufgetreten ist
  • hat git alles geholt
  • git checkout
  • git-Pull-Ursprung

Befehle:

ex:

  • Name des Fehlerzweigs: Fehlerzweig

  • Name des anderen Zweigs: Anderer Zweig

  • git checkout Other-branch
  • git stash
  • git branch -d Error-branch (wenn es nicht funktioniert, verwenden Sie unten)
  • git branch -D Error-branch (wenn Sie einen Zusammenführungskonflikt haben)
  • git fetch all
  • git checkout Error-branch
  • git pull origin

Ich hoffe, das wird Ihr Problem lösen

  • Willkommen bei Stapelüberlauf. Befehle sind einfacher zu lesen, wenn sie als Code formatiert sind. Nur-Code-Antworten können im Allgemeinen verbessert werden, indem eine Erklärung hinzugefügt wird, wie und warum sie funktionieren und im Fall von Befehlen, wie die erwartete Ausgabe aussehen würde, wenn sie erfolgreich wäre, oder wie die Ergebnisse des Befehls zu interpretieren sind, falls zutreffend.

    – Jason Aller

    2. August 2020 um 17:25 Uhr

1228880cookie-checkPull-Remote-Zweig ohne Merge

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

Privacy policy