【发布时间】:2013-01-07 22:20:30
【问题描述】:
我正在使用 GIT 部署我的 cakephp 应用程序,几天前我开始在我的应用程序中使用迁移插件(由 cakeDC 提供)来简化数据库版本和更改。
在我的本地开发机器上安装迁移插件后,我提交了更改并将其推送到我的生产服务器,并尝试从那里运行迁移插件。 在查看服务器很长一段时间后,我意识到它并没有抓取所有的迁移插件,但是以下内容发生了变化:
app/Config/bootstrap.php 附加了以下行 CakePlugin::load('Migrations');
Plugin 文件夹现在有一个 Migrations 文件夹,但它是空的。
我通过 FTP 上传插件解决了这个问题。我在上面运行了一个 git status,它显示工作目录是干净的......
为什么 GIT 不跟踪我的 Migrations 插件文件夹内容?
【问题讨论】:
-
发布.gitignore的内容
-
.clpprj log/ tmp/* git/* .git web/app/tmp/logs/* web/app/tmp/sessions/* web/app/tmp /tests/* web/app/tmp/cache/models/* web/app/tmp/cache/persistent/* web/app/tmp/cache/views/* !empty web/stats/* web/error/* favicon .ico cgi-bin/* ssl/*
-
Answer: Plugin 文件夹没有被跟踪,因为它是作为子模块安装的。我发现安装插件的第一个说明包括将其设置为 git 子模块(当时我不知道那是什么......)我已经确定它是通过这个线程以这种方式安装的:无法跟踪文件在 Git 子模块中 @Chris Herbert 感谢我使用此线程进行删除的回复:如何删除 git 子模块?我希望这对将来的某人有所帮助,因为我玩得很开心。下次我要在使用命令之前阅读它。谢谢!
-
将插件作为子模块进行跟踪不一定是个坏主意,但您需要注意这一点(即,使用“git clone --recursive”等)。
-
我总是将我的插件作为子模块进行跟踪。 (随着新作曲家支持的到来,这将不是必需的,但现在它是一个很好的解决方案。)
标签: cakephp plugins migration cakephp-2.0 cakedc