Unterschied zwischen git pull . Master vs. Git-Merge-Master

Lesezeit: 2 Minuten

Benutzer-Avatar
Hotschke

Kein Remote-Repository, nur ein lokales Repository mit zwei Zweigen.

$ git branch -a
  master
* devel

Folgen Befehle in diesem Zusammenhang das gleiche/synonym?

$ git pull . master

und

$ git merge master

AKTUALISIEREN:

$ git help pull gibt folgende Informationen

SYNOPSIS
   git pull <options> <repository> <refspec>...

DESCRIPTION
   ...
   Note that you can use . (current directory) as the <repository> to pull
   from the local repository — this is useful when merging local branches
   into the current branch.

Ich verstehe eigentlich nicht, warum dies nützlich ist, wie es in dieser Manpage erwähnt wird.

  • no git-merge – Verbinden Sie zwei oder mehr Entwicklungsgeschichten miteinander. Und git-pull – Abrufen und Zusammenführen mit einem anderen Repository oder einer lokalen Verzweigung

    – cptnk

    27. Juni 2013 um 9:20 Uhr


Benutzer-Avatar
Balog Pal

pull ist ein Kombinationsbefehl, fetch gefolgt von merge. Mit Standard- oder sinnvollen Parametern wird Ihr aktueller Zweig synchronisiert.

Mit den fraglichen Parametern wird der größte Teil seiner Arbeit sabotiert. Der Abrufteil wird überschrieben, um das aktuelle Repo zu verwenden, sodass er übersprungen wird, und Sie bitten den Master ausdrücklich, FETCH_HEAD zu überstimmen.

In dieser Form glaube ich also, dass sie identisch sind (und ich würde die erste auch in die Kategorie Unsinn einordnen).

  • Es wird so oder so dasselbe sein, da die Fernbedienung ‘.’ ist, nein?

    – John Szakmeister

    27. Juni 2013 um 9:48 Uhr

  • Wie ich bereits sagte, gibt es kein Remote-Repository. Also fetch tut nichts. Können Sie Ihre Antwort anpassen; Ich freue mich über die Erwähnung, dass git pull normalerweise git fetch & git merge entspricht.

    – Hötschke

    27. Juni 2013 um 9:51 Uhr

git pull . master ruft aus dem aktuellen Repository ab (keine Operation) und wird dann etwas tun, um den aktuellen Zweig auf den neuesten Stand zu bringen master. Je nach Konfigurationseinstellung kann es sich dabei um eine Zusammenführung, aber auch um eine Rebase handeln pull.rebase oder branch.master.rebase.

Im Fall einer Zusammenführung kann die Zusammenführungsstrategie beeinflusst werden pull.twohead.

git merge master wird Master immer mit der Standard-Merge-Strategie zusammenführen.

der einzige Unterschied – im zweiten Fall (git merge master) es wird mit not zusammengeführt frisch Daten, aber mit Daten von Ihrem letzten Remote-Update. Also, wenn Sie gerade gemacht haben fetch (oder git remote update) – sie funktionieren auf die gleiche Weise, aber wenn Sie das lokale Repository vor langer Zeit aktualisiert haben – wird es mit dem alten Snapshot zusammengeführt.

Ich bin mir nicht sicher, in welchem ​​Zeitraum git pull . master ist eine korrekte Syntax …

  • es hat mich auch verblüfft, scheint aber zu funktionieren, indem es den Abrufteil überspringt

    – Balog Pal

    27. Juni 2013 um 11:35 Uhr

1180400cookie-checkUnterschied zwischen git pull . Master vs. Git-Merge-Master

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

Privacy policy