Das Argument, das Sie in diesen Beispielen variieren, wird refspec
genannt.
Im ersten Beispiel verwenden Sie eine Kurzschrift, die die abzurufende Quellreferenz angibt (master
), aber keine Zielreferenz angibt, die aktualisiert werden soll. Es würde das Standardverhalten gelten, das bei einem typischen Setup origin/master
aktualisiert würde.
Im zweiten Beispiel geben Sie eine Quelle an (master
), dann eine :
, um das von einem Ziel zu trennen, dann ein Ziel (auch master
). Dies wird versuchen, den lokalenmaster
Zweig Ihres lokalen Repos direkt zu aktualisieren, anstatt die origin/master
Remote-Zweigreferenz. Es kann fehlschlagen (z. B. wenn das lokale Repo in einer Standardkonfiguration ein nicht leeres Repo ist und master
ausgecheckt ist).
Wenn Sie explizite Refspec verwenden möchten, aber Sie wollen immer noch die Remote-ref zu aktualisieren, könnte man sagen
git fetch origin master:origin/master