Se non ti dispiace, non la creazione di un ramo chiamato temp
, si può solo fare quanto segue tutto il master
:
git commit -a -m 'more work done'
git fetch origin
git rebase origin/master
... o equivalentemente:
git commit -a -m 'more work done'
git pull --rebase origin master
Se lo fai vuoi mantenere il ramo temp
, tuttavia puoi ancora renderlo un po 'più breve non controllando master
solo per fare il pull
- devi solo fetch
e poi rebase il tuo ramo su origin/master
:
# work work work...
$ git checkout -b temp
$ git commit -a -m 'more work done'
$ git fetch origin
# It looks like origin/master was updated, so:
$ git rebase origin/master
# Then when you finally want to merge:
$ git checkout master
$ git merge temp
$ git push origin master
$ git branch -d temp
sehe's answer mi ricorda che è possibile sostituire:
$ git fetch origin
$ git rebase origin/master
... con:
$ git pull --rebase origin master
... che è quasi equivalente. La differenza è che quando si esegue git fetch origin
, tutte le diramazioni di rilevamento remoto per origin
verranno aggiornate, mentre quando si estrae un ramo particolare da origin
, nessuno di essi lo è: è solo il riferimento temporaneo FETCH_HEAD
che viene aggiornato. Personalmente preferisco eseguire un comando aggiuntivo (git fetch origin
) e vedere tutti i rami remoti che sono cambiati nell'output.
fonte
2011-09-26 13:31:28
Grande! Non conoscevo l'opzione '--rebase', sembra adattarsi perfettamente al mio flusso di lavoro. –
Ottimo lavoro per me! A proposito, come possiamo ignorare le "modifiche non applicate/non salvate"? –