per ricevere il nuovo commit
git fetch
Ripristina
È possibile ripristinare il commit per una filiale locale utilizzando git reset
.
Per cambiare il commit di una filiale locale:
git reset origin/master --hard
Attenzione però, come la documentazione mette:
Ripristina l'indice e albero di lavoro. Qualsiasi modifica ai file tracciati nell'albero di lavoro dal momento in cui il commit è < viene scartata.
Se si desidera mantenere effettivamente le modifiche apportate localmente, eseguire invece il ripristino --soft
. Che aggiornerà la cronologia dei commit per il ramo, ma non cambierà alcun file nella directory di lavoro (e potrai quindi eseguirne il commit).
Rebase
È possibile riprodurre i tuoi commit locali in cima a qualsiasi altro commit/ramo utilizzando git rebase
:
git rebase -i origin/master
Questo invocherà rebase in modalità interattiva in cui è possibile scegliere come applicare ogni commit individuale che non è nella cronologia su cui ci si basa su di esso.
Se i commit che hai rimosso (con git push -f
) sono già stati inseriti nella cronologia locale, saranno elencati come commit che verranno riapplicati - dovranno essere eliminati come parte del rebase o saranno semplicemente re -incluso nella cronologia per il ramo e riappare nella cronologia remota alla prossima pressione.
Utilizzare l'aiuto git command --help
per ulteriori dettagli ed esempi su uno dei comandi precedenti (o altri).
possono cancellare il loro ramo e crearlo anche senza dover cancellare l'intero repository: 'git checkout master && git branch -D test && git checkout -b test origine/test' – Florian
Possibile duplicato di [Force Git to sovrascrivi i file locali su pull] (http://stackoverflow.com/questions/1125968/force-git-to-overwrite-local-files-on-pull) – gpoo