Почему GIT не отслеживает мой плагин переноса тортов?
Я использую GIT для развертывания своих приложений CakePHP, несколько дней назад я начал использовать в своем приложении плагин миграций (от CakeDC) для упрощения версий и изменений базы данных.
Установив плагин Migrations на мою локальную машину разработки, я зафиксировал изменения и перенес его на свой рабочий сервер и попытался запустить плагин миграции оттуда. Посмотрев на сервер в течение некоторого времени, я понял, что он не захватил весь плагин миграций, однако были изменены следующие параметры:
К app/Config/bootstrap.php добавлена следующая строка: CakePlugin::load('Migrations');
Папка Plugin теперь имела папку Migrations, но она была пуста.
Я решил это, загрузив плагин через FTP. Я запустил git-статус, и он показывает, что рабочий каталог чистый...
Почему GIT не отслеживает содержимое папки плагина Migrations?
1 ответ
Папка Plugin не отслеживается, потому что GIT считает, что это был субмодуль.
Я столкнулся с этой проблемой, потому что я использовал GIT, чтобы клонировать этот плагин в каталог плагинов. и git не добавил его, так как он сам по себе был хранилищем. Когда GIT не добавил его в мои отслеживаемые файлы, я сделал это вручную: git add app/Plugin/Migrations/
это создало gitlink и по существу действовало как подмодуль, как видно в этой теме:
Git - как отследить неотслеживаемый контент?
Поскольку в то время я не хотел использовать плагин в качестве подмодуля, я исправил эту проблему с помощью следующих команд:
git rm --cached app/Plugin/Migrations
с git status
Я мог видеть, что GIT теперь распознает мой плагин
Затем я мог бы продолжить с git add .
а также git commit -m "finally adding the plugin"
Я надеюсь, что это поможет кому-то в будущем.
Спасибо!