L'altro giorno, ho aggiornato tiny_mce in un progetto che è controllato dalla versione con git. A quel tempo, ho creato un ramo git per la modifica e l'ho unito al master e cancellato il ramo. Tutto ha funzionato bene.Comportamento strano di git
Inoltre, ho cambiato il repository remoto su un altro server e ho cambiato il mio .git/config. Ma ho scoperto che ho fatto un errore come il seguente.
[remote "new_repo"]
url = ssh://[email protected]/~/path/to/myproject.git
fetch = +refs/heads/*:refs/remotes/new_repo/*
[branch "master"]
remote = old_repo <= WRONG
merge = refs/heads/master
Dovrebbe essere remoto = new_repo. L'ho corretto più tardi e sembrava funzionare bene.
Ma dopo, se faccio "git status", i vecchi file tiny_mce sovrascrivono quello nuovo e sono nella lista modificata ma non impegnati. Quindi devo "git resettare --hard HEAD". Succede anche su un'altra copia del mio progetto (aggiornata via git). Ma non riesco a riprodurlo. Sembra casualmente (o non riesco ancora a trovare il modello)
Cosa sta succedendo e come posso risolverlo?
Ecco la mia "-a git branch":
choir
* master
remotes/old_repo/master
remotes/new_repo/master
Aggiornamenti e correzioni:
Si è scoperto che tiny_mce gioiello che la mia applicazione Rails usa copia il vecchio tiny_mce e sovrascrive quello nuovo ogni volta Corro "rake some_task". Ho aggiornato la gemma tiny_mce.
In qualche modo si interrompe la directory di lavoro tutto il tempo. Forse è dovuto a vecchi riferimenti (ricorda che il ramo di git checkout può anche controllare i branch remoti!). Puoi descrivere l'output del comando git branch -a? –
@AlexandrPriymak Ho modificato la mia domanda per aggiungere "git branch -a". Grazie. –
Hai rimosso il ramo principale locale ultimamente e poi solo "git checkout master"? –