2011-12-19 20 views
11

Io uso sempre git rebase per sincronizzare il mio codice, ho trovato che git stash salva il lavoro corrente e dopo aver recuperato l'ultimo codice dal master possiamo fonderlo con il nostro codice usando git stash pop.git stash pop vs git rebase

Supponiamo che la sequenza è:

  • git stash, vale a dire il mio lavoro attuale è salvata
  • git checkout master, poi git pull master, cioè ho recuperato ultimo codice da maestro
  • git checkout mybranch
  • git stash pop

Immagino che questo unirà il mio lavoro con il codice aggiornato, se invece di git stash pop farò
git rebase master quindi il risultato sarà lo stesso o no?

Il tuo suggerimento e il tuo aiuto saranno apprezzati, Grazie per il tuo tempo.

risposta

12

Lo stash è pensato per memorizzare le modifiche che non sono destinate a essere ancora impegnate. Ad esempio se stai lavorando su qualcosa che non è ancora stato fatto e vuoi lavorare su qualcos'altro per un po 'senza commettere il lavoro incompiuto, allora usi una scorta per conservarla per un uso successivo.

Se si hanno comunque commit effettivi, che contengono il lavoro finito, utilizzare git merge o git rebase per unire/rebase quei commit nella cronologia.

+0

Basta realizzare l'esistenza di questa funzione! Lo faccio sempre ribellando .. che vergogna! Grazie :) – nonintanon

+0

Ulteriori informazioni su quando utilizzare 'git merge' vs' git rebase' qui: http://stackoverflow.com/a/804156/2104168 – cjsimon