Ho un progetto che sto distribuendo a Heroku . L'albero del codice sorgente include un mucchio di file mp3 (il sito web sarà per un progetto di registrazione di cui ero fortemente coinvolto).
Vorrei inserire il codice sorgente su GitHub , ma GitHub ha un limite di 300 MB sui loro account gratuiti. Non voglio usare 50 MB del mio limite su un mucchio di file mp3. Ovviamente, potrei aggiungerli al .gitignore
file per tenerli fuori dal mio repository.
Tuttavia, mi schierò su Heroku usando git push heroku
. I file mp3 devono essere presenti nel ramo che spingo su Heroku in modo che vengano distribuiti.
Idealmente, vorrei .gitignore
i file mp3 nel mio ramo master locale in modo che quando lo spingo su GitHub, gli mp3 non fossero inclusi. Quindi terrei un ramo di produzione locale che ha impegnato gli mp3 piuttosto che ignorato. Per schierare, unirei il padrone in produzione e quindi spingere il ramo di produzione a Heroku.
Non riesco a farlo funzionare bene.
Ecco un esempio di ciò che sto cercando di fare ...
$ git init git-ignore-test
$ cd git-ignore-test
$ echo "*.ignored" >> .gitignore
$ git add .gitignore && git commit -m "Ignore .ignored files"
$ touch Foo.ignored
A questo punto, Foo.ignored viene ignorato nel mio ramo principale, ma è ancora presente, quindi il mio progetto può usarlo.
$ git checkout -b unignored
$ cat /dev/null > .gitignore
$ git add Foo.ignored .gitignore && git commit -m "Unignore .ignored files"
Ora ho un ramo con questi file impegnati, come voglio. Tuttavia, quando torno al mio ramo principale, Foo.ignored non c'è più.
Qualcuno ha qualche suggerimento per un modo migliore per impostare questo?
Modifica: solo per chiarire, voglio che i file mp3 siano presenti in entrambi i rami in modo che quando eseguo il sito localmente (usando entrambi i rami) il sito funzioni. Voglio solo che i file vengano ignorati in un ramo, quindi quando invio a GitHub non vengono inseriti. Di solito .gitignore funziona bene per questo tipo di cose (vale a dire mantenere una copia locale di un file che non viene incluso in un push su un telecomando), ma quando passo al ramo con i file archiviati, e poi di nuovo al ramo con i file ignorati, i file svaniscono.