php - 将开发团队从 FTP 转变为版本控制系统

标签 php version-control development-environment

我在一家小型 LAMP 开发工作室工作,那里的想法是只完成代码,然后继续列表中的下一项。

该团队在通过 FTP 或 SFTP 连接到 Live 服务器的 Zend Studio 5.5 中工作。他们喜欢的是他们部署代码的速度(因为它只是修改实时代码)。

当然,由于许多显而易见的原因,这并不好。

我想将他们转移到版本控制系统(CVS、SVN 或任何其他工具),但要注意的是,我不是他们的前辈,所以我需要一个胡萝卜让他们开始使用它。

我需要在他们的机器上构建什么样的设置才能让他们像往常一样编码?

我要做的是在我的机器上创建这个设置,然后展示给他们看。

我知道这有点不寻常,但我热衷于改变他们的思维方式,从通常的代码破解到结构和优雅。谢谢。

更新(Jonathan Leffler 的回答):

  1. 没有
  2. 是的,他们确实如此

还有一个问题,工作室制作了一个托管在数百个站点上的集中式 CMS 系统,他们需要修改各个站点,这些站点应该在主组合中还是在自己的组合中?

最佳答案

问题:

  1. 您(他们)是否遇到过您(他们)需要恢复到以前版本的网站但因为他们损坏了网站而无法恢复的灾难?

  2. 他们是否使用暂存网络服务器来测试更改?

  3. 他们肯定不会在没有在某处进行一些测试的情况下修改生产服务器中的代码吗?

我怀疑第一个的答案是“是(他们有灾难)”,第二个是“否”,我犹豫要不要猜测第三个的答案(但是。从它的声音来看,答案可能是“是的,他们真的这样做”)。如果那是正确的,我钦佩他们的虚张声势,并对他们从不犯错感到惊讶。我绝不会冒险直接在实时网站上进行更改。

我建议您自己使用版本控制系统或 VCS(任何 VCS)。解决您所管理的代码的问题,并开发灵活的分发,以便轻松(可能仍在使用 SFTP)将 VCS 代码分发到网站。但也表明保留以前的版本有其优点 - 因为您可以恢复谁在何时做了什么。首先,您可能会发现您需要下载您需要处理的任何页面(文件)的当前版本,并在开始修改页面之前将最新版本放入 VCS,因为其他人可能已经修改了它最后在您的主存储库中更新。您可能还想每天“抓取”文件以获取当前版本 - 并跟踪更改。您不会知道“谁”,也不会确切地知道“何时”(比最近的一天更好),也不会知道“为什么”,但您会知道(累积的)“什么”变化。


在回答问题中的评论时,Ólafur Waage 澄清说,由于缺少 VCS,他们遭遇了灾难。

这通常会让生活变得更轻松。他们傻了;他们无法挽回这个错误——他们可能惹恼了顾客,而且他们本应该对自己感到非常恼火。 VCS 使从此类错误中恢复变得容易得多。显然,对于任何给定的自定义站点,您需要 VCS 中可用的该站点的“正确”或“官方”版本的(中央)备份。我可能会为所有客户选择一个存储库,使用对分支和合并有良好支持的 VCS。一开始可能很难处理(当人们习惯使用 VCS 时),但从长远来看可能会带来更好的结果。我会认真考虑使用现代分布式 VCS(例如,git),尽管很多人也使用 SVN(即使它不是分布式 VCS)。

关于php - 将开发团队从 FTP 转变为版本控制系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/396830/

相关文章:

php - 多个 mysql 表,其中 ... AND

version-control - 自定义开源项目源代码控制的最佳实践

google-chrome-extension - google-chrome-extension 的开发环境

workflow - 在 FreeBSD 代码库上工作的推荐工作流程和环境是什么?

visual-studio - TFS 查询(在 Visual Studio 中)以获取所有 checkin

python - 检查应用程序是否在服务器或本地运行

php - cakePHP 示例中的插件

php - 在页面上启动大类会减慢速度吗?

javascript - 使用ajax重新加载wordpress php部分

version-control - 更改密码后连接到在线化石存储库时出错