Git: как игнорировать все файлы вендоров Symfony?

К сожалению, Я не могу использовать композитор, из-за нехватки памяти на веб-пространстве. Вот почему я пытаюсь подтолкнуть 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

1

Решение

jsrouting-bundle папка является Git субмодуль. Подмодуль Git на самом деле является ссылкой на другой репозиторий Git. Вот почему вы не можете добавлять изменения из него в ваш исходный репозиторий Git.

2

Другие решения

Я должен был сделать это в прошлом, вот что я сделал:

  • 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 на вашем производственном сервере.

1

По вопросам рекламы [email protected]