Per ricevere i nuovi commit
git fetch
Ripristina
È possibile reimpostare il commit per una filiale locale utilizzando git reset
.
Per modificare il commit di una filiale locale:
git reset origin/master --hard
Fai attenzione, come dice la documentazione:
Reimposta l'indice e l'albero di lavoro. Qualsiasi modifica ai file tracciati nell'albero di lavoro da quando <commit> viene scartata.
Se desideri effettivamente conservare le modifiche apportate localmente, --soft
esegui invece un ripristino. Che aggiornerà la cronologia di commit per il ramo, ma non cambierà alcun file nella directory di lavoro (e potrai quindi eseguirne il commit).
rebase
Puoi riprodurre i tuoi commit locali sopra qualsiasi altro commit / ramo usando git rebase
:
git rebase -i origin/master
Questo invocherà il rebase in modalità interattiva in cui puoi scegliere come applicare ogni singolo commit che non è nella cronologia su cui stai eseguendo il rebasing.
Se i commit che hai rimosso (con git push -f
) sono già stati inseriti nella cronologia locale, verranno elencati come commit che verranno riapplicati: dovranno essere eliminati come parte del rebase o verranno semplicemente reinseriti nella cronologia per il ramo - e riapparire nella cronologia remota al prossimo push.
Utilizzare la guida git command --help
per maggiori dettagli ed esempi su uno dei comandi sopra (o altri).
git checkout master && git branch -D test && git checkout -b test origin/test