2013-05-03 28 views
5

Il mio collega ha inviato il commit al nostro repository github. Purtroppo, la data del sistema è fissata a circa 20 giorni prima del tempo reale. Quindi tutti (4) i suoi commit hanno una data sbagliata. Vorrei cambiare le date in questi commit, ma alcuni lavori aggiuntivi sono già stati fatti sulla base di questi commit errati.Come modificare la data di commit in upstream in Git?

ho trovato questo SO domanda: How can one change the timestamp of an old commit in Git?, che le risposte mostrano come posso farlo, ma non penso che sia sicuro come la SHAs commettere saranno cambiati in causa di teh cambio di data e io non sono sicuro di cosa accadrà al modifiche basate sul commit originale (errato).

Quindi, è sicuro modificare le date e premere il commit modificato? Cosa succederà esattamente nel repository github? Presumo che verranno creati nuovi commtis e quelli vecchi saranno comunque lì ...

D'altra parte se lascio i commit errati come sono adesso, qual è il pericolo? Finora ho appena notato che il grafico di rete su github non funziona ...

+5

L'hash SHA viene calcolato sull'intero commit, inclusa la data. Quindi non è possibile modificare la data di commit senza modificare l'hash SHA. – Andomar

+0

Lo so, ma grazie per la conferma. –

risposta

1

È possibile modificare i commit che generano una nuova cronologia. Puoi fare in modo che GitHub accetti le modifiche tramite git push --force, che cambierà la cronologia. Tuttavia, fare ciò causerà problemi agli altri sviluppatori che stanno ritirando dal repository (probabilmente dovranno richiederlo).

La cronologia si basa sugli SHA non quando si sono verificati. Se guardi le date dopo aver fatto un rebase vedrai le modifiche che si sono verificate "dopo" quelle successive. Quindi per quanto riguarda i problemi con il repository o il tuo codice, non c'è pericolo.

Problemi correlati