e vorrei eliminare l’ultima commit che e’ un banale aggiornamento del
Gemfile
$ll Gemfile
-rwxrwxr-x 1 flex flex 2188 Dec 28 13:19 Gemfile*
$git reset --hard b3242b55
HEAD is now at b3242b5 new GemFile
$ll Gemfile
-rwxrwxr-x 1 flex flex 2188 Dec 28 13:19 Gemfile*
provo a fare un git pull e ritorno alla situazione di partenza. Cosa
sbaglio ?
–
FleX
Success is the maximum utilization of the ability that you have
[Linux User #347703 PGP Key ID: 98AA9D3E
FingerPrint: 7D25B 0CE4 898A 22CB F765 E2A5 88B7 4C5C 98AA 9D3E]
Dovresti git push force dopo il reset. Questo forzer la sincronizzazione del
branch remoto con lo stato del branch locale.
Ma in locale ho ancora l’ultima commit, quello che desidero e’fare un
pull della commit precedente.
–
FleX
Success is the maximum utilization of the ability that you have
[Linux User #347703 PGP Key ID: 98AA9D3E
FingerPrint: 7D25B 0CE4 898A 22CB F765 E2A5 88B7 4C5C 98AA 9D3E]
Per resettare un commit non devi dare l’id del commit stesso, ma quello
del
precedente, poiché “git reset ” non vuol dire “cancella il
commit
”, ma “vai al commit ”; quindi dovresti usare
$git reset --hard b3242b55^1
o
$git reset --hard 5f5cb2d
–
Maurizio De Santis
Il giorno 29 dicembre 2014 10:17, FleX [email protected] ha
scritto:
Il pull è un’operazione che ti serve per sincronizzare il repo locale
con un remote. Non penso sia quello che vuoi fare. Prima assicurati di
avere nel repo locale la situazione che vuoi, senza pensare al remote.
Quello che è capito è che vuoi tornare a questo commit: 5f5cb2d e
scartare questo: b3242b5 .
Per fare questo devi fare un git reset:
git reset --hard 5f5cb2d
In questo modo la tua copia locale sarà quello che desideri, ovvero
non conterrà la modifica al Gemfile. A questo punto devi sincronizzare
il tutto con il remote, quindi devi forzare lo stato di master su
origin con la tua situazione locale. Se fai un git pull, la modifica
al Gemfile verrà ripristinata, perchè questa si trova già su origin.
Devi forzare origin in questo modo:
git push --force origin master
come ha già detto Luca.
“Pull della precedente” non ha senso. Origin sta più avanti rispetto
al tuo HEAD, quindi se non modifichi origin il pull applicherà alla
tua copia locale i commit “successivi”, non precedenti.
Perfetto, adesso e’ chiaro; inserendo l’id corretto tutto funziona
perfettamente. Grazie 1.000 per il vs aiuto.
–
FleX
Success is the maximum utilization of the ability that you have
[Linux User #347703 PGP Key ID: 98AA9D3E
FingerPrint: 7D25B 0CE4 898A 22CB F765 E2A5 88B7 4C5C 98AA 9D3E]
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.