最近在 ThinkPHP 官方看到了一个不错的轮子:DolphinPHP,正好手头有个小项目就用这个轮子来建吧;期间遇到的问题就是代码更新问题,官方还在用比较老的补丁压缩包形式来更新版本;作为现代PHP工(da)程(cai)师(niao)这是无法容忍的。官方没有发发布到 composer ,但是有 github 仓库;那咱们就用 git 来更新吧,下面是一个基本的克隆开源项目二次开发的流程和拉取更新代码冲突的解决方案。

克隆项目到本地

git clone https://github.com/caiweiming/DolphinPHP.git [你的目录]

给本地项目添加自己的远程仓库

git remote add coding https://git.coding.net/tlerbao/MyDP.git

PS:你 clone 下来的代码,默认的 origin 是官方仓库的 git 地址,我们新增的 coding 是我们在 coding 的仓库地址;区别在于 origin 我们只用于拉取更新,而二次开发以后的代码 我们可以 push 到 coding 上去做版本管理。

代码冲突

如果你本地做了修改,远端官方仓库也做了修改,你想要拉取官方的最新版本,你本地还没有 commit 的话,这时候 git pull 是会提示代码冲突的。

解决方法:我们只需要把本地的修改 commit 后再 pull,就可以了。

git add .
git commit m "我本地做了很多修改 bala bala"
git pull #拉取更新并合并

注意:这时候 git pull 拉取的更新会自动合并冲突的代码,并提示你哪些文件存在冲突,你需要手动解决冲突的代码;如下:

<<<<<<< HEAD
    # 本机修改的内容
=======
    # 远端修改的内容
>>>>>>> f164a180b52943xxxxx....

删掉你不想保留的部分,然后再 commit 就可以了。

其它方法

如果你本地没有 commit 可以按下面的操作:

git stash #缓存本地修改
git pull #拉取更新
git stash pop #合并本地修改