git版本在局域网,开发团队代码必须在线上服务器解决方案

博主在最近开发微信程序端时,遇到一个比较棘手的问题是,微信开发必须是线上服务器,而且必须有域名绑定。但是团队开发的git lab版本实在局域网内,无法将服务器端代码提交到git lab之上,一旦线上服务器出现问题,整个团队的代码将会损坏甚至丢失。

以上是代码安全问题,还有一个问题是微信开发必须一人用一个项目,一人一个域名进行开发,不然相互之间会有影响。

为了解决以上问题,聪明的博主想出一个办法:

  1. 解决代码丢失问题:

    • 使用phpstrom进行同步拉取服务器上项目,并且设置phpstrom

  2. 下面是关键之一,解决每个人配置不一样问题

    • 设置gitnone忽略配置文件,忽略“/app/wechat.php”。

      1. 在“/app”目录下新建一个.gitignore文件,并且编辑,写入“wechat.php”
      2. 下面要做的就是使git忽略生效:

        1. 清除git缓存(进入项目根目录)
          git rm -r —cached .

        2. 这时候你gitstatus查看发现跟初始git一样了,都是临时文件了,这里去执行“git add .” 添加到临时仓库

        3. 继续提交版本到本地仓库
          git commit -m 忽略微信配置文件初始化
        4. 将其推到远程分支,这时候你会发现远程分支没有wechat.php文件,恭喜你,成功了。
    • 将“/app/config.php”中的后台域名和前台域名配置到.env中(env在laravel中默认是忽略的)

      以上步骤完成之后,这个时候团队就可以在一个项目中开发微信端程序了。

  3. 最后一步关键操作也是最耗时间的就是git提交到本地局域网内的git lab之上。

    1. 首先第一步,将上述修改后的项目打包,上传到远程线上服务器之上,解压部署好线上服务器的nginx站点。(每个开发人员自己推自己的,为了方便组员,我将自己的.git目录删除,在线上服务器命名为master将这个项目,组员只需cp 拷贝一份出来,配置好自己的wechat.php和env域名,站点即可)
    2. 第二步,在vagrant同步目录下新建一个存放当前项目的空文件夹。
    3. 第三步,打开phpstrom将刚才cp出来的项目代码拉取下来,步骤如下:

      选中上面root项目,点击下一步,就开始拉取项目了。

      拉完之后设置永远同步。(上面介绍了)

      好,这个时候你本地代码就和服务器同步了,这样每次开发测试,跑的是服务器上的代码,每天版本提交则是将本地同步的代码提交到版本库即git lab,这样就做到了远程代码推到本地git,也就是phpstrom做了一个中间商。

      注意:

      1. 只是个人建议,因为vendor很大所以没有同步vendor,服务器和客户端都需要执行composer install 拉取组件。

      2. 服务器端生成新的文件客户端需要执行download,反之一样,总之就是时刻保持代码同步。

      3. .git目录我服务器端和客户端是不同步的,因为没有必要,所以拉取下代码之后需要将之前的.git目录拷贝到当前项目下,才可使用git,千万不要init,否则将会导致你的代码版本与主分支不一致,无法推送代码。

      4. 我们代码安装了.idea代码追踪,我这里也没同步,所以也需要从之前项目中拷贝过来,代码追踪才可正常使用。

本方法纯博主自己想出,博客也纯手码,欢迎转载,手码不易,转发引用请注明出处,否则后果自负,如本篇对你项目团队有所帮助,希望给予打赏,下面附上微信支付宝二维码。

  • 微信:

  • 支付宝:

您的支持是对我最大的鼓励!