如对本地仓库无任何更改的情况下
如不存在 子项目清理/vendor 清理等场景
则直接进行仓库迁移 如 gitlab支持通过仓库地址导入另一个远程仓库到 gitlab
完成后直接在相关仓库中切换远程仓库地址即可 git remote set-url origin 新仓库地址
而如果有上述的情况 也就是会对仓库进行更改且会导致git冲突
那么我们可以新建立仓库 更改完成后直接提交到新仓库
调试后如果没有问题 可以在线上拉取该仓库代码 进行预发布测试
刚刚我们提到 老项目的 vendor 目录可能是没有经过 composer 版本控制的 所以我们还需要将 vendor 目录中 的文件进行提取
到新的文件夹后写一个自动载入脚本 怎么写就依据在 vendor 目录的格式便携 autoload.php即可
基本上的逻辑是__autold / spl_autoload_register 自动载入和不存在时进行注册
要注意部分文件可能是没有命名空间定义的 如直接拷贝下来的 SDK 所有的功能需要经过细致的测试都没问题了才可 以放心
如果没有问题 则可以将A项目切换到B项目
切换方式有两种
- nginx.conf 重新指向 但这种方式需要你去重启 nginx 并且还需要你去 crontab 中重新更改目录地址
- mv 剪切 提前将两个目录做好备份 预准备好回退方案 / 由于 mv 是毫秒级别的切换 只要不是太大的项目 基本上都不会有什么影响 好处是不需要重启 nginx 和 crontab 更新