Obiezioni all'uso di Git

Completato

Le obiezioni comuni alla migrazione a Git sono tre:

  • Vi è il rischio di sovrascrivere la cronologia.
  • Non è adatto per file di grandi dimensioni.
  • La curva di apprendimento è ripida.

Sovrascrittura della cronologia

Tecnicamente Git consente di sovrascrivere la cronologia, ma come per qualsiasi funzionalità utile, l'uso improprio può causare conflitti.

Se i team sono prudenti, non sovrascriveranno mai cronologia.

Se si esegue la sincronizzazione con Azure Repos, è anche possibile aggiungere una regola di sicurezza che impedisce agli sviluppatori di sovrascrivere la cronologia usando le autorizzazioni esplicite per forzare un push.

Ogni sistema di controllo del codice sorgente funziona al meglio quando gli sviluppatori ne comprendono il funzionamento e le convenzioni.

Anche se con il controllo della versione di Team Foundation non è possibile sovrascrivere la cronologia, è comunque possibile sovrascrivere il codice ed eseguire altre operazioni dannose.

File di grandi dimensioni

Git funziona al meglio con repository di piccole dimensioni e che non contengono grandi file (o file binari).

Ogni volta che lo sviluppatore o i computer di compilazione clonano il repository, ottengono l'intero repository con la sua cronologia dal primo commit.

Questo comportamento è ideale per la maggior parte delle situazioni, ma può essere problematico in presenza di file di grandi dimensioni.

I file binari sono ancora peggiori, in quanto Git non può ottimizzarne il modo in cui vengono archiviati.

Ecco perché è stato creato Git LFS.

Questo strumento consente di separare i file di grandi dimensioni dei repository, offrendo comunque i vantaggi del controllo delle versioni e del confronto.

Inoltre, se si è soliti archiviare file binari compilati nei repository di origine, qui è bene non farlo!

Usare Azure Artifacts o altri strumenti di gestione pacchetti per archiviare file binari per cui è disponibile il codice sorgente.

Tuttavia, i team con file di grandi dimensioni (come modelli 3D o altri asset) possono usare Git LFS per mantenere il repository di codice sottile e ordinato.

Curva di apprendimento

È prevista una curva di apprendimento. Se il controllo del codice sorgente non è mai stato usato prima, è meglio imparare a usare Git. In genere, gli utenti di sistemi di controllo del codice sorgente centralizzato (controllo della versione di Team Foundation o SubVersion) trovano inizialmente difficile cambiare mentalità, in particolare per quanto riguarda rami e sincronizzazione.

Una volta appreso il funzionamento dei rami di Git e che è necessario eseguire il commit e quindi il push, gli sviluppatori hanno tutte le nozioni di base necessarie per usare con successo Git.