Differenza tra git pull . master vs git merge master

Non avendo repository remoto, solo un repository locale con due rami.

$ git branch -a
  master
* devel

Sono le seguenti comandi in questo contesto stesso/sinonimo?

$ git pull . master

e

$ git merge master

AGGIORNAMENTO:

$ git help pull dà seguenti informazioni

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.

Io in realtà non capisco perché questo è utile, come indicato in questo manuale.

  • no git-unisci – unisci due o più lo sviluppo di storie insieme. E git pull – il recupero e la fusione con un altro archivio o di un ramo locale
InformationsquelleAutor Hotschke | 2013-06-27

 

3 Replies
  1. 13

    git pull . master recupera dall’attuale repository (no-op) e farà qualcosa per portare la corrente di ramo aggiornato con master. Che qualcosa potrebbe essere un’unione, ma potrebbe anche essere un rebase a seconda dell’impostazione di configurazione pull.rebase o branch.master.rebase.

    In caso di unione, l’unione strategia può essere influenzata dalla pull.twohead.

    git merge master sempre unire master con l’unione predefinita strategia.

  2. 16

    pull è una combinazione di comando, fetch seguita da merge. Con l’impostazione predefinita, che sensibile params si sincronizzare il vostro attuale ramo.

    Con i parametri come nella domanda la maggior parte del suo lavoro è sabotato. il fetch parte è annullata per utilizzare il repository attuale, in modo che è saltato, ed è esplicitamente chiedere al maestro prevalente FETCH_HEAD.

    Così in forma credo che siano identiche (e avevo messo la prima sciocchezza categoria troppo).

    • Sarà lo stesso in entrambi i casi dato che il telecomando è ‘.’, no?
    • come ho sottolineato, non c’è nessun repository remoto. così fetch è che non fa nulla. Si può regolare la vostra risposta, io sono felice di ricordare che di solito git pull è equivalente a git fetch & git merge.
  3. 4

    l’unica differenza – nel secondo caso (git merge master) si fonderà con non fresca dati, ma con dati dall’ultimo aggiornamento remoto. Quindi, se avete appena fatto fetch (o git remote update) – funzionano allo stesso modo, ma se avete aggiornato il repository locale molto tempo fa – si fonderà con la vecchia istantanea.

    Non certo il periodo in git pull . master è la corretta sintassi…

    • mi ha lasciato perplesso, ma sembra funzionare saltare il recupero di parte

Lascia un commento