Я только что попытался создать новый проект телефонного разговора 3.0 ... Примечание: я новичок в телефонном разговоре. В любом случае, я вижу, что папка проекта содержит:
.cordova
merges
platforms
plugins
www
И, попробовав, phonegap local run android
я вижу много бинарных / сгенерированных файлов в platforms/android
. Это заставляет меня задуматься, какие части этой структуры папок я должен добавить в свой репозиторий git. Обычно я считаю крайне плохой практикой фиксировать двоичные файлы. Поэтому я обычно добавлять шаблоны , как bin/
, obj/
, *.o
, и *.pyc
т.д. , чтобы .gitignore
избежать загрязнения моего GIT репозитория с вещами , которые только служит для создания слияния конфликтов.
Конечно, www
нужно добавить в git, но как насчет других частей проекта. В какой степени они являются продуктами исходного кода и в какой степени они представляют собой конфигурацию проекта?
Чем ты занимаешься? Конечно, я новичок, поэтому едва понимаю, что здесь имеет смысл ...
Ответы:
Ответ зависит от того, на каких платформах вы разрабатываете приложение phongap, и от того, следуете ли вы стандартной структуре каталогов.
Если структура каталогов вашего проекта стандартная, вы можете начать с этого gitignore и изменить его для своих нужд.
На правиле вы , чтобы исключить все созданные файлы Понравились
bin/
иgen/
каталоги. Если вы разрабатываете версию своего приложения для Android, вам также следует исключить файлы сборки, например*.apk
.Все сгенерированные файлы в
android
подкаталоге также должны быть исключены:источник
Расширяя ответ @Jake Moshenko:
Мне нравится идея опустить
platforms
каталог. На самом деле, я могу исключить обаplugins
иplatforms
каталоги. Хорошая отправная точка для.gitignore
:Проблема в том, что чистая копия репо должна быть инициализирована, прежде чем вы сможете работать с ней. Возможно, имеет смысл создать сценарий инициализации, например:
Предостережение к этому подходу заключается в том, что он немного усложняет настройку кода / конфигурации приложения для конкретной платформы за пределами того, что поддерживается phonegap / cordova (то есть поддержкой ориентации экрана).
Обновление: Bash Gist
Эта сущность содержит более полный сценарий для обработки проекта , который не обязывает
plugins
иplatforms
каталоги. Он предоставляет механизм для копирования значков и изображений заставки с www в каталоги платформы (для iOS и Android), установки плагинов и обработки файлов, специфичных для платформы, которые следует добавить в систему контроля версий.Обновление: Grunt Gist
Вот еще одна суть, которая является портом Grunt вышеупомянутого сценария bash. (Спасибо @obie за предложение ворчания).
источник
platform-merges
каталога. Например, вы можете совершитьplatform-merges/android/AndroidManifest.xml
. Этот подход хорошо работает для простых проектов, но может усложнить ситуацию в более крупных проектах.rm -rf platforms plugins
.Я понял это методом проб и ошибок.
platforms
Каталог может быть опущен , если вы используете PhoneGap локальную или удаленную сборку, так как он генерируется на лета. Все остальные папки, включая скрытую,.cordova
являются обязательными.источник
.cordova
папки - почему вы говорите, что это требуется, @Jake Moshenko?Я просто хотел рассказать здесь о своем опыте решения этой проблемы и о подходе, которому мы в конце концов воспользовались.
В нашем проекте phonegap мы начали коммитить все файлы, кроме папки / платформы, используя файл .gitignore. Мы думали так, когда разработчик клонировал репозиторий, единственное, что осталось сделать, это выполнить:
телефонная связь / кордова добавить платформу
Но это было не так. После того, как платформа была добавлена и мы попытались скомпилировать, появилась ошибка, и приложение не установилось на устройство.
Просматривая журналы, мы обнаружили, что эта ошибка связана с плагинами. Поэтому мы решили переустановить все плагины, которые мы использовали в проекте, и вуаля приложение запустилось правильно.
Поэтому я советую сохранять в репозитории весь контент, за исключением платформы папок и плагинов. Создайте и загрузите в репозиторий файл README со списком плагинов, используемых в проекте.
Таким образом, когда разработчик клонирует репозиторий, он / она должен будет:
1.- Добавить платформы: phonegap / cordova добавить платформу "platform"
2.- Добавьте плагины: плагин phonegap / cordova добавить «плагин»
Надеюсь это поможет!
С уважением.
источник
Многие из этих вещей устарели и на самом деле не применимы к последней версии Apache Cordova. Я использую Apache Cordova 5.1.1, и этот .gitignore позволяет мне по-прежнему настраивать пользовательские значки и т. Д., Блокируя все вещи, которые нам не нужны для версии как для Android, так и для IOS. Да .gradle используется, поэтому не удаляйте его!
источник
www/
туда папку? В моем приложении это были самые полезные вещи из жизни веб-приложений.www/
потому что содержимое создается пользовательскими сценариями сборки. Вам действительно не нужны исходные файлы.Хотя это несколько личные предпочтения, я выбрал это (для проекта только для Android). Удаление большинства, но сохранение того, что обычай
источник