2016-06-24 37 views
7

Non capisco la differenza tra git pull --rebase e git rebase, senza altre opzioni.git pull --rebase vs git rebase: qual è il pericolo?

Non capisco se sono sicuri, una buona pratica o molto pericolosa.

Posso interrompere lo storico di commit eseguendo uno git pull --rebase in locale?

+0

http://stackoverflow.com/questions/18930527/difference-between-git-pull-and-git-pull-rebase – ashishmohite

+0

'git rebase' non esegue' fetch' prima. – choroba

risposta

7

Non consiglio affatto il rebasing ma solo per le filiali private. Per privato Voglio dire rami che sei abbastanza sicuro solo tu hai tirato.

Un rebase cambia il punto iniziale del ramo in un commit più recente, quindi unendo tutti i commit a quel punto. Questo potrebbe portare a unire i conflitti alle persone che avevano nel loro repository la vecchia base di filiali. Raccomanderei sempre l'unione semplice e lasciare il rebasing solo per determinate situazioni (diramazioni di feature, ad esempio).

quanto riguarda la tua domanda:

  • git rebase rebases il ramo che si desidera.
  • git pull --rebase esegue un recupero + rebase nei rami estratti. Normalmente un pull andrebbe a prendere + unire.
+0

Quindi, fare un git pull --rebase è sicuro? – sab

+0

Sicuro in che senso? Un rebase cambia il punto di partenza, la differenza tra uno o l'altro è che git pull --rebase fa un massiccio rebase. Non consiglierei il rebasing nei rami condivisi, quindi non consiglierei git pull --rebase. Fai invece un semplice tiro di Git. – Luis

7

git pull --rebase è una scorciatoia per git fetch e poi una pianura git rebase, quindi l'unica differenza è che l'applicazione solo quest'ultimo non sarebbe prendere alcuna nuova impegna dal telecomando prima di rebasing il codice in cima, in quanto solo farebbe prendere in considerazione ciò che il tuo repository già conosce.