Вопрос
Я пытаюсь сохранить свою статические файлы в отдельной ветке чтобы я мог не допустить их слияния с моим основным плечом (в Heroku объем вашего приложения должен оставаться небольшим).Я не хочу игнорировать свои статические файлы, потому что я хочу сохранить их внутри моей ветки "devel".
В идеале я хотел бы оставить test.db пустым и всю мою общую папку пустой в главной ветке.
Итак, могу ли я создать "наложение" на ветку?Могу ли я запретить слияние определенных файлов / каталогов с моей главной веткой?
Решение
Вы могли бы определить те же самые статические файлы в вашей главной ветке, но:
- пустой
- с помощью gitattributes файлы, указывающие вас всегда хочется сохранить вашу локальную версию (т.е.пустой) при объединении этих файлов
Поскольку этот атрибут .gitattribute не был бы определен в других ветвях, объединение этих файлов проходило бы нормально.
Идея состоит в том, чтобы определить файл .gitattributes в каталоге этих статических файлов в главной ветке со следующим содержимым:
myStaticFile1 merge=keepMine
myStaticFile2 merge=keepMine
myStaticFile3 merge=keepMine
Эти три файла всегда будут сохранять свое локальное содержимое (которое пусто на master) при объединении с master.
Вам нужно будет определить драйвер слияния (здесь называемый "keepmine").Смотрите связанный вопрос для этого скрипта.
Другие советы
Добавьте файлы в .gitignore в master. Когда вы извлекаете devel, .gitignore изменится и больше не будет их игнорировать. (Обратите внимание, что если вы запустите git clean -x
, файлы будут перезаписаны.)