У мене є проект, який я розгортаю в 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 вже немає.
Хтось отримав якісь пропозиції щодо кращого способу встановити це?
Редагувати: просто для уточнення, я хочу, щоб mp3-файли були присутніми в обох гілках, щоб, коли я запускаю сайт локально (використовуючи будь-яку гілку), сайт працює. Я просто хочу, щоб файли ігнорувались в одній гілці, тому коли я натискаю на GitHub, вони також не висуваються. Зазвичай .gitignore добре працює для подібних речей (тобто зберігання локальної копії файлу, який не потрапляє під час натискання на пульт), але коли я переключаюсь на гілку із зареєстрованими файлами, а потім назад до гілка з ігнорованими файлами, файли зникають.