php – 将项目部署到Web的正确方法是什么

我正在开展一个小型的Web项目,我正在努力做到这一点.

我学会了如何使用git /
github,这样我就可以在同一个代码上使用多个用户(现在只有我在多台计算机上).

我的问题是 – 将文件上传到网络的正确方法是什么?

我可以通过file-zilla复制粘贴整个文件夹,但这似乎不是正确的方法.有没有办法通过git部署最新版本? GitHub的?记事本(我工作)或aptana?

我从哪里开始?

最佳答案 您的里程和策略可能会因您的工作流程而异.我在下面描述的是在我现在的公司为我们工作,但随时可以尝试并找到适合您的方法.

在我们的Git仓库中,我们有一个“主”分支.所有新的开发以及主要的错误修复都发生在“主”分支的分支中.当他们准备好了,他们就会合并为主人.这里的想法是,没有未完成的功能或有意识的错误代码永远在掌握(理论上……).

当我们想在我们的网站上创建一个新的“发布” – 代码的新版本时 – 我联系其他开发人员并确保他们正在处理的应该完成的工作已经合并到master并推送到GitHub回购.我将通过拉动并将master中的更改合并到我的本地仓库,运行任何必要的数据库更新脚本,然后在本地进行测试,确保我的repo的本地副本是最新的.如果需要修复某些内容,我会自行修复或要求负责的开发人员修复它.如果事情看起来不错,那么我将登录我们的登台服务器(实际上在我们的实时服务器上,但使用一个单独的数据库和一个不可公开访问的URL),将代码从GitHub仓库拉到那里的仓库,更新数据库,然后再次测试.这样,可以捕获可能在实时服务器上发生但在我的本地开发服务器上没有发生的任何错误.

如果事情看起来还不错,那么我会在我的本地dev repo上用适用的标签(如BETA-4或v1.8)标记回购中的相关提交并推送标签.然后我将登录到实时服务器,备份数据库,从GitHub拉出主分支,然后使用git checkout检查我刚刚创建的标记.这就是那里的伎俩;如果你签出了一个标签(除了HEAD),那么Git会将repo的状态保持为标签指向的提交之前的文件,直到你签出另一个标签.然后我在实时服务器上运行更新脚本,然后你就去了.

Git是一个强大的工具,所有试图告诉你它易于使用的人都是蛮横的骗子.如果你是新手,我强烈建议你买一本好书.天啊,我几乎每天都在使用它差不多两年了,有时它仍然让我感到惊讶. O’Reilly’s book像往常一样不错,我发现SourceTree是一个不错的OS X GUI应用程序(当然你应该学会使用CLI界面,特别是你可以登录到远程服务器并通过SSH进行拉取等,但是一个很好的GUI可以执行诸如执行提交之类的任务,其中您只在回购中提交一些更改的文件更加愉快.

点赞