Quando ci troviamo ad aggiornare la copia di lavoro locale con Git, usando il comando git fetch o git pull , spesso ci troviamo di fronte all’errore [..] Please commit your changes or stash them before you merge.[..].
Git ci sta dicendo che il nostro lavoro locale è andato avanti rispetto a quello remoto e che ci potrebbero essere delle perdite. Come possiamo vedere, Git stesso ci consiglia di fare un commit o uno stash e riprovare ad eseguire il comando.
Se invece volessimo scartare le modifiche locali, e forzare la copia locale a sincronizzarsi a quella remote? Possiamo usare una combinazione di comandi:
git fetch origin master git reset --hard FETCH_HEAD git clean -df
Attenzione: questo comando potrebbe farvi perdere le modifiche locali delle quali non avete fatto il commit!
Eseguendo questi comandi, prima scarichiamo dal server le ultime modifiche con git fetch , poi, portiamo il puntatore interno di Git allo stato precedente (cioè l’ultimo commit salvato) e poi effettuiamo una pulizia di tutti i file (e directory) non tracciati.