У меня есть проект, который я развертываю в Heroku. Дерево исходного кода содержит кучу mp3 файлов (сайт будет для проекта записи, в котором я был вовлечен).
Я хотел бы поместить исходный код на GitHub, но у GitHub есть ограничение на 300 МБ для их бесплатных учетных записей, Я не хочу использовать 50 МБ моего лимита на кучу mp3 файлов. Очевидно, я мог бы добавить их в файл .gitignore
, чтобы не допустить их из моего репо.
Тем не менее, я развертываю в Heroku с помощью git push heroku
. Файлы mp3 должны присутствовать в ветке, которую я нажимаю на Heroku, чтобы они были развернуты.
В идеале я хотел бы .gitignore
mp3 файлов в моей локальной ветки мастера, чтобы, когда я нажимаю на GitHub, mp3 файлы не включены. Тогда я бы сохранил местную производственную ветвь, в которой были сохранены mp3, а не проигнорированы. Чтобы развернуть, я объединил мастера в производство, а затем подтолкнул производственную ветвь к Heroku.
Я не могу заставить это работать правильно.
Вот пример того, что я пытаюсь сделать...
$ git init git-ignore-test
$ cd git-ignore-test
$ echo "*.ignored" >> .gitignore
$ git add .gitignore && git commit -m "Ignore .ignored files"
$ touch Foo.ignored
В этот момент Foo.ignored игнорируется в моей главной ветке, но он все еще присутствует, поэтому мой проект может его использовать.
$ git checkout -b unignored
$ cat /dev/null > .gitignore
$ git add Foo.ignored .gitignore && git commit -m "Unignore .ignored files"
Теперь у меня есть ветка с этими файлами, как я хочу. Однако, когда я переключаюсь обратно на свою главную ветвь, Foo.ignored ушел.
У кого-нибудь есть предложения по улучшению способа настройки?
Edit: просто чтобы уточнить, я хочу, чтобы файлы MP3 присутствовали в обеих ветвях, поэтому, когда я запускаю сайт локально (используя любую ветку), сайт работает. Я просто хочу, чтобы файлы игнорировались в одной ветки, поэтому, когда я нажимаю GitHub, они тоже не толкаются. Обычно .gitignore хорошо работает для такого рода вещей (то есть, сохраняя локальную копию файла, который не входит в push на удаленный), но когда я переключаюсь на ветку с проверенными файлами, а затем обратно ветвь с файлами игнорируется, файлы исчезают.