J'ai un projet que je suis le déploiement d' heroku. L'arborescence du code source, inclut un tas de fichiers mp3 (le site sera pour un projet d'enregistrement j'ai été fortement impliqué avec).
J'aimerais mettre le code source sur github, mais github a une limite de 300 MO sur leurs comptes gratuits. Je ne veux pas utiliser les 50 MO de ma limite sur un tas de fichiers mp3. Évidemment, je pourrais les ajouter à l' .gitignore
le fichier pour les garder hors de mon repo.
Cependant, je déployer sur heroku l'aide d' git push heroku
. Les fichiers mp3 doivent être présents dans la branche que j'ai push heroku de sorte qu'ils obtiennent est déployé.
Idéalement, j'aimerais .gitignore
les fichiers mp3 dans mon local de la branche principale, de sorte que lorsque je pousse qu'à github, les mp3 ne sont pas inclus. Puis je garderais un local de la branche de production qui a les mp3 engage plutôt que de les ignorer. Pour déployer, je voudrais fusionner master en production, puis appuyez sur la branche de production à heroku.
Je ne peux pas obtenir ce travail à droite.
Voici un exemple de ce que je suis en train de faire...
$ git init git-ignore-test
$ cd git-ignore-test
$ echo "*.ignored" >> .gitignore
$ git add .gitignore && git commit -m "Ignore .ignored files"
$ touch Foo.ignored
À ce stade, Foo.ignoré est ignoré dans ma branche master, mais il est toujours présent, si mon projet peut l'utiliser.
$ git checkout -b unignored
$ cat /dev/null > .gitignore
$ git add Foo.ignored .gitignore && git commit -m "Unignore .ignored files"
Maintenant, j'ai une branche avec ces fichiers engagés, comme je veux. Cependant, quand je revenir à ma branche master, Foo.ignoré, c'est parti.
De toute façon eu des suggestions pour une meilleure façon de le définir?
Edit: juste pour préciser, je veux que les fichiers mp3 présents dans les deux branches de sorte que lorsque je lance le site localement (à l'aide d'une branche) le site fonctionne. Je veux juste les fichiers ignorés dans une branche alors, quand je l'ai pousser à github ils ne sont pas poussés. Généralement .gitignore fonctionne bien pour ce genre de chose (c'est à dire garder une copie locale d'un fichier qui ne sont pas inclus dans une pousser à distance), mais lorsque je passe à la branche avec les fichiers archivés, puis à la direction générale avec les fichiers ignorés, les fichiers disparaissent.