К сожалению, Я не могу использовать композитор, из-за нехватки памяти на веб-пространстве. Вот почему я пытаюсь подтолкнуть vendor/*
в репозиторий git, чтобы иметь возможность вытащить весь проект, включая зависимости.
В моем .gitignore
Я заставляю git игнорировать файлы вендора !/vendor/*
,
Это работает для большинства файлов, но не для /vendor/friendsofsymfony/jsrouting-bundle
,
Содержание /vendor/friendsofsymfony/jsrouting-bundle/.gitignore
:
/phpunit.xml
/composer.lock
/composer.phar
/vendor/
/node_modules/
Мой репозиторий размещен на BitBucket. Я еще не знаю значение другой значок папки и хэши рядом с ним. Если кто-то знает, пожалуйста, прокомментируйте.
Кто-нибудь знает, как заставить git обрабатывать все файлы вендора?
Заранее спасибо!
Решения
Как jsrouting-bundle
это git submodule
Я выбрал это решение:
git submodule add git://github.com/FriendsOfSymfony/FOSJsRoutingBundle.git vendor/friendsofsymfony/jsrouting-bundle
Другой способ — использовать файл deps (не тестировался), источник:
https://github.com/XKEYGmbH/ifresco-client/tree/master/vendor/friendsofsymfony/jsrouting-bundle/FOS/JsRoutingBundle/Resources/doc
jsrouting-bundle
папка является Git субмодуль. Подмодуль Git на самом деле является ссылкой на другой репозиторий Git. Вот почему вы не можете добавлять изменения из него в ваш исходный репозиторий Git.
Я должен был сделать это в прошлом, вот что я сделал:
php composer.phar selfupdate
php composer.phar update
vendor
запуск каталога sudo find . -type d -name .git | xargs rm -rf
git add -A .
При этом ваш поставщик будет совершать как src
каталог, поэтому не нужно запускать composer install
при развертывании в вашей производственной среде. При желании обновить просто повторите процесс. Но, конечно, это не очень хорошая практика, и вы должны делать это, только если вы не можете бежать composer
на вашем производственном сервере.