2010-07-04 66 views
2

我正在与其他人一起在网站上工作。通常当我们想修改某些内容时,我们会在我们的机器上进行修改,然后用ftp上传新版本,希望它能够正常工作(或者没有人会注意到它并不是我们改正它的时间),就是这样。如何在网站上协同工作

它已经不是单独工作的最佳方式,但更少的协作工作,所以我问的意见。

我认为像svn/git/mercurial这样的解决方案可以帮助我。我发现bitbucket允许与mercurial的免费私人存储库。但是之后,我怎样才能将我所做的更改上传到ftp,并确保我在计算机上的版本与服务器上的版本相同。

我们都在我们的空闲时间(没有支付)这样做,有些人每年都来,所以我正在寻找一些免费,易于使用的东西(向大家解释为什么我们应该使用DVCS已经很难)并且不依赖于特定的人。
我们使用主办的网站服务器是一个便宜的,并且不允许使用SSH,SVN的...

谢谢

回答

1

版本控制不会与你的问题帮助描述 - 即将未经测试的更改上传到生产站点。

您(和您的团队)需要的是更好的质量控制程序 - 您需要测试网站和测试人员(QA)人员。这一过程将是:

  • 进行更改
  • 更新测试网站
  • 有由QA
  • 更新生产签了字的更新和整个网站/直播网站

使用版本控制(CVS,SVN,Git或其他)会获得什么是可恢复性 - 在任何重大更改之前,您都可以返回到某个版本。它仍然不能解决“新代码破坏网站”的问题。

+0

也许(与一个测试人员)可以为一个大网站工作,但在这里我正在讨论的网站不到100人,开发团队通常不超过3(但经常变化) 。大多数情况下,这些更改正在更新一些页面或创建一个订阅事件的表单。无论如何,有一个测试网站肯定是第一步。 – 2010-07-04 16:20:40

+0

@Martin Trigaux - 实际上,第一步是建立一个测试/登台服务器。您的质量保证人员可以是周围的非程序员之一,可以尝试破坏网站的人员。 – Oded 2010-07-04 16:24:58

0

您想要计划发布。

  1. 提交并定期更新代码
  2. 代码冻结或分支发展和合并到主干
  3. 测试上登台环境
  4. 发现错误转到第1步
  5. 发布
+0

感谢所以这是对版本控制的部分,但发布后我该怎么做?如果在这个提交过程中我更新了10页,我必须记住它是哪一个。如果我删除了一个,我也要记住它 – 2010-07-04 16:16:27

0

您需要了解代表最新正确工作版本的内容不是服务器上的内容,而是源代码库中的内容,无论是SVN o只是文件系统。只要它不是活服务器!确保所有的东西都按照预期在本地工作,除非网站很大(我想不是你的情况),将其作为一个整体部署在版本

+0

该网站不是很大,但仍然太大,无法每次上传所有内容。整个网站大约60mb,因为有图片,文档......正如我对邓肯说的那样,如果我删除了某些东西,也存在问题。即使我完成了最后一个工作版本的完整上传,它仍会保留。 – 2010-07-04 16:25:27