相信大家在使用学习Laravel的过程中,都会想让Laravel 应用与官方保持同步,那么如何做到呢?这里来看看。
解决什么问题?
我们在用着 4.2,过了一段时间作者发布了 5.0,项目可能还没开发完,然后你又像我一样是一个不升级不舒服斯基,那么用升到最新版是你接下来要忙碌的事情。因为你不知道 4.2 ~ 5.0 变化了多少。所以你不可能手动一个个加上或者删除、修改。有的人可能是备份,然后用新版建立一个项目: composer create-project laravel/laravel ,然后把原来自己的代码拷过来,然而,变化不一定只是文件新增或者删除啊,可能是原来文件里改了一行,你却没法知道。所以这就头疼了。那么下面我就分享一个超简单的办法来解决这个问题:
首先我们使用的是 git ,如果你不熟悉它的话,起码你这时候应该去补补基本命令了。
这里假设我们的项目叫做 blog , 然后我们第一步要做的事情是添加官方 git 源:
cdblog # 切到项目根目录
gitremoteaddlaravelhttps://github.com/laravel/laravel # 添加一个源
这里解释一下:
因为我们的项目基本都已经有一个源 origin ,就是我们项目用于上传到公司 gitlab 或者 bitbucket 这样的网站用于项目代码管理的地方,所以我们不能破坏它。然后我们添加了一个叫做 laravel ,这样就会有两个源了,意味着我们就可以从两个源同步代码。
拉取 Larvel 的新版代码
拉取指定的 Laravel 分支
注意:在我们拉取 Laravel 源的代码前,请确认你的修改都已经保存并 commit 。
shell git pull laravel master
这里我们从 laravel 的源拉取 master 分支,当然你也可以拉取其它分支的代码。
合并冲突
拉取完代码,这时候通常是会冲突的,因为你的代码与官方的代码不一样了,冲突部分就是不相同的地方,那么你根据合并结果找到 CONFLICT (content): Merge conflict in xxxx.xxx 部分的文件打开,找到冲突的地方合并就好了。
解决完冲突你的代码结构就与官方一致了,而且这种合并方式不会让你落下任何一个不同的地方。
当然以上的方法适用于任何 git 管理的项目。比如工作中,你 fork 了主项目,要经常同步主项目的更新时就用这个方法最简单了。
原文来自:小谈博客