Una differenza importante tra SVN e Git è che in SVN tutti i file risiedono su un server centrale e solo alcune revisioni vengono verificate. Al contrario, Git scarica il repository completo. Anche se questo consente a Git di funzionare come un sistema di controllo della versione decentralizzato, significa anche che è preferibile mantenere il repository piccolo.
Poiché le dimensioni contano, il check-in (grandi) binari in Git non è una grande idea. Verranno sommate su più versioni per una memorizzazione significativa. Indipendentemente dal fatto che questo abbia importanza dipende ovviamente dal numero totale di file binari e dalle loro dimensioni: esegui prima i numeri per vedere se questo è importante.
È quindi corretto memorizzare i binari esternamente. Per esempio. Git-LFS (archiviazione di file di grandi dimensioni) è un'estensione git ampiamente supportata per fare esattamente questo. Tuttavia, il server potrebbe richiedere una configurazione aggiuntiva. In particolare, i servizi di hosting come GitHub fanno pagare extra per lo storage LFS. Git-Annex è un'altra implementazione di questa idea.
La tua idea di utilizzare un repository separato non risolve il tuo problema, ma lo sposta in un repository diverso. A volte questo è abbastanza buono - l'ho fatto anche io. Poiché tu stai utilizzando Git come meccanismo di archiviazione e non per la gestione del controllo del codice sorgente, è del tutto legittimo ignorare le best practice normali. Un sacco di rami orfani? Nessun problema.
Ma poiché non stai facendo uso di Git, non c'è alcun motivo valido per usare un repository Git per out-source dei tuoi blob. Se non si desidera utilizzare LFS, un'altra possibilità sarebbe quella di caricare i file binari su un server (ma non modificare mai questi file!) E controllare i nomi / URL nel repository. Il processo di compilazione scaricherà quindi i file binari, eventualmente memorizzandoli nella cache localmente. Questo è abbastanza simile a come funziona LFS, tranne che LFS è parte di Git e non fa parte del processo di generazione e che LFS utilizza l'archiviazione indirizzabile al contenuto: invece di specificare nomi / URls, viene utilizzato l'hash dell'oggetto.