fastadmin是一款优秀的开源框架,除了有各种实用功能,官方还不竭余力的对框架的进行维护与更新。显然,哪怕不是为了体验更多的功能,我们也得出于安全性的考虑,适时的对自己基于fastadmin的项目进行升级更新。
下面我就介绍如何对fastadmin项目进行升级。
PS:本文详细阐述升级流程和注意事项。
目录
[toc]
先说下我的项目情况:
1) fastadmin版本比较老,2017年的 :1.0.0.20171026_beta
1) 版本控制器用的是SVN。
1) 把SVN代码迁移到git下,如码云、coding等平台
1) 在码云上fork 下 Fastadmin仓库
1) 把转移到git的代码拉下本地,同时关联fork 后的fastadmin远程仓库地址
1) 拉取fork后的fastadmin代码到本地,然后强制合并。
1) 更新bower 和 composer依赖
1) 同步数据结构
1) 完成,并提交代码
1) git客户端
1) bower 客户端,用于更新fastadmin前端依赖。
1) composer 客户端,用于更新fastadmin 的composer依赖
1) phpstorm (非必须),处理冲突文件的界面很友好,推荐使用。
1) Navicat (非必须),在本文中用于处理数据结构同步。
git remote -v
命令查看本地代码关联的远程仓库情况。git remote add fastadmin + "你自己的fork下来的fastadmin 地址"
增加fastadmin远程仓库, 例如我的:git remote add fastadmin git@gitee.com:aijiyenan/fastadmin.git
git remote -v
查看远程仓库情况,这时多出了fastadmin,这就是等下同步代码的关键:git fetch fastadmin
命令,把远程仓库fastadmin拉下本地:git merge fastadmin/master --allow-unrelated-histories
。PS:这是因为git认为这是两个不相关的项目,我们得在命令后面加上参数: --allow-unrelated-histories ,进行强制合并。注意:如果遇到下面提示Automatic merge failed; fix conflicts and then commit the result.
,不要惊慌。这是因为合并过程中有冲突文件,版本相差越大,冲突的文件就可能越多,我们只要解决有冲突的文件即可。
Git-->Resolve Conflicts
这是选择手动修改的界面以及说明:
composer update
/application/command/Install/fastadmin.sql
文件,右键进行版本对比:fa_version
表,这时我们复制表结构sql(记得把前缀改成你项目的前缀),放到数据库运行生成即可。Q:如果往后有更新,需要同步怎么办?A:不用怕,由于本地项目已经和远程的fastadmin仓库关联,操作就不必这么复杂了。只要先到码云上,先把你的fork的fastadmin仓库与官方仓库进行同步,然后在本地依次,git fetch fastadmin,git merge fastadmin/master 既可以。
由于版本的更新,对应的配置可能会有增减。所以特别注意config.php等文件的合并。
更新完后,如果有错误,需要耐心调试
请问楼主有遇到过这个问题吗
感谢分享,照着这个流程自己操作了一遍,虽然用的工具不太相同,但是感谢站长提供的思路
@a717445834 相同問題,所以我都用新的。整好後。後台登錄有問題。跳出 "Internal Server error"
如圖。
{{error.png(uploading...)}}
但gif 拉回前一版都沒問題。
所以我也不同這更新到底是可用不可用?
终于搞定升级了,谢谢了
@a717445834 这个问题是怎么回事 你截得这个图,我也遇到了
@ahaaha 按表操課就成功 ?
喔!我用 Mac的。你是windows ?
如果后续再本地改代码后commit push到自己的gitee仓库,以后fork fastadmin到自己的gitee仓库会不会冲突?
@senlin 不会,相当于两个不同的仓库