git cambiando la testa non si riflette sul ramo di co-dev

3

Fondamentalmente, abbiamo annullato la cronologia. So che questo è male, e io sono già impegnato a evitarlo a tutti i costi in futuro, ma ciò che è fatto è fatto.

Ad ogni modo, ho emesso un'origine di git push < 1_week_old_sha >: master per annullare alcuni commit errati. Ho quindi eliminato un ramo buggered chiamato release (che aveva anche ricevuto alcuni cattivi commit) da remoto e quindi diramato una nuova release off master. Ho spinto questo a distanza. Quindi, in pratica, master remoto & rilascio sono cloni e proprio come li voglio.

Il problema è che se ho clonato il repository di nuovo (o lavoro nel mio repository corrente) tutto sembra fantastico ... ma quando i miei co-dev eliminano il loro ramo di rilascio e ne creano uno nuovo basato sulla nuova versione remota che ho creato , vedono ancora tutta la vecchia spazzatura che ho provato a rimuovere.

Penso che questo abbia a che fare con alcuni file .git locali che scambiano la nuova release della vecchia versione.

Qualche idea? Grazie.

    
posta stevekrzysiak 10.10.2012 - 17:22
fonte

1 risposta

2

Quindi il ramo è ancora sincronizzato con il sito locale. Deve essere ripristinato al commit nel telecomando. Penso, idealmente, che cosa vorresti fare ...

$ git checkout release
$ git reset --hard origin/release
$ git checkout master
$ git reset --hard origin/master

Oppure ... se hanno tutto spinto localmente, possono semplicemente eliminare il repository locale e clonare di nuovo.

In futuro, invece di riscrivere la cronologia, è normalmente più semplice ripristinare i commit. Vedrai comunque la cronologia ma il codice non sarà in HEAD di quel ramo.

    
risposta data 10.10.2012 - 17:51
fonte

Leggi altre domande sui tag