Ho appena avuto una breve domanda su git - quanto sono compatibili con le versioni precedenti i repository git? Ad esempio, ho creato un repository usando git 1.6.4 e lo script ruby svn2git, ma voglio metterlo su una macchina che esegue Debian Lenny, che ha git 1.5.6.5. Sarei ancora in grado di interagire correttamente con il repository?Compatibilità con le versioni precedenti del repository Git
risposta
È estremamente retrocompatibile in termini di archiviazione effettiva delle informazioni, che è tutto ciò che ti preoccupa in questo caso. Non sono un esperto completo, ma dubito che sia cambiato dalla prima versione stabile.
L'unico problema di compatibilità che riesco a pensare è se le due versioni di git funzionano allo stesso repository (non ai cloni) e ci sono opzioni/alias impostate in .git/config che funzionano nel nuovo versione ma non sono stati [pienamente] implementati nella versione precedente ... ma anche in questo caso dovresti provare piuttosto con le versioni così chiuse. E ancora, questo non ha nulla a che fare con le informazioni reali nel repository, solo i comandi che usi per gestirlo. È qui che sta avvenendo lo sviluppo del git.
Ci sono state pochissime modifiche incompatibili nel layout del repository git; incompatibile nel senso che la versione precedente potrebbe non essere in grado di gestire il repository creato con la versione più recente, o fare uno scambio (fetch o push) con un server più recente.
È necessario verificare le note (ad esempio da here) per verificare se vi sono state modifiche incompatibili tra le versioni utilizzate.
Alcuni (probabilmente tutti) di tali modifiche incompatibile sono:
- moduli supportano: versione git prima che il supporto modulo è stato introdotto nel nucleo git non sarà in grado di gestire repository che utilizza moduli (non è così capire le voci sottotree/gitlink)
- ref rif.: la vecchia versione git non sarebbe stata in grado di recuperare tramite HTTP dal repository più recente che utilizza refs (
.git/packed-refs
). Lo stesso con il vecchio git utilizzando lo stesso repository git come nuovo che ha imballato arbitri - compensato packfiles delta: vecchio git non capisce versione più recente (più compatta) di git packfile (OFS-delta). Questo non è un problema per il recupero e la spinta, in quanto vi è la scoperta di funzionalità client supportate dal server.
Nessuno di quelli erano tra 1.6.4 e 1.5.6, penso.
- 1. Android L: compatibilità con versioni Android precedenti
- 2. Compatibilità con Prism 6 con le versioni precedenti
- 3. .lib e .dll Compatibilità con versioni precedenti
- 4. Best practice per compatibilità con le versioni precedenti delle API
- 5. Compatibilità con le versioni precedenti di java 7
- 6. Progettazione API che garantisce la compatibilità con le versioni precedenti
- 7. Completa comprensione delle versioni .NET e compatibilità con le versioni precedenti
- 8. Compatibilità con le versioni precedenti del framework compatto .NET 3.5 e 2.0
- 9. problemi di compatibilità tra git 1.8 del client e del server precedenti git
- 10. Campo di classi anonimi che accedono alla compatibilità con Java 1.8 con le versioni precedenti
- 11. È l'aggiunta di un metodo tratto con l'implementazione che interrompe la compatibilità con le versioni precedenti?
- 12. Test con le versioni precedenti di Firefox
- 13. Compatibilità cacerts con le versioni java
- 14. Esiste un modo semplice per verificare la compatibilità con le versioni precedenti degli script di PowerShell?
- 15. Compatibilità con le versioni precedenti di SQL Server in Entity Framework?
- 16. Utilizzo delle funzionalità di iOS 5 senza compromettere la compatibilità con le versioni precedenti
- 17. Come rimuovere le versioni precedenti di Xcode
- 18. Il linguaggio Java ha mantenuto la compatibilità con le versioni precedenti del codice sorgente nel corso della sua storia?
- 19. Esporta git con cronologia versioni
- 20. Dove posso trovare le versioni precedenti di JDK e JRE?
- 21. Migrazioni di EF compatibili con le versioni precedenti
- 22. Come rendere InstallShield disinstallare le versioni precedenti?
- 23. I pacchetti R compilati sono compatibili con le versioni precedenti?
- 24. Strumento per verificare la compatibilità con le versioni Matlab?
- 25. Qualche alternativa a Clirr (compatibilità binaria e sorgente con versioni precedenti)?
- 26. Heroku Git Repository Size
- 27. Come si separa in modo pulito il codice per la compatibilità con le versioni precedenti dal codice principale?
- 28. Compatibilità con le versioni precedenti di Mac OS X App 10.6 e 10.7 durante l'utilizzo di NSPopovers
- 29. Compatibilità con le versioni precedenti dell'API 21 di Android? (Da quando è uscito il nuovo aggiornamento dell'SDK)
- 30. Compatibilità con le versioni precedenti di materiali android: colorAccent richiede il livello API 21 quando si utilizza appcompat7
Beh, so che in una versione iniziale 1.5 il formato del repository è stato modificato, ma credo sia tutto. Grazie, posso probabilmente procedere con il mio lavoro. Mi chiedo però, la gitosi avrebbe problemi con le versioni precedenti? Voglio impostare la gitosi su questo nuovo server Lenny. Immagino che dovrebbe essere in grado di ricevere spinte e roba buona. – Ibrahim
Alcune cose sono cambiate con 1.5, ma vedi qui quanto sono cauti: http://www.kernel.org/pub/software/scm/git/docs/RelNotes-1.5.0.txt Le cose che cambiano di default impostazione, funziona dalla versione 1.4.3 (almeno). – u0b34a0f6ae
Ha! Distruggi la tua perfida reputazione del 666 con un +1! – Bombe