Drupal 6:使用bitbucket.org将我的Drupal项目作为真正的版本控制系统虚拟

时间:2010-07-16 14:04:14

标签: version-control drupal mercurial drupal-6 bitbucket

这是一个真正的版本控制系统虚拟!适当的新首发!


到目前为止我的工作方式:

我有一个Drupal-6网络项目 www.blabla.com ,并在 www.blabla.com/beta 下进行开发。我正在服务器上直接处理blabla.com/beta。在我当地没什么,在其他任何地方都没有。只是随时备份到本地。我知道可怕而不安全的方式:/


我想从现在开始工作的新方式:

我决定使用 Mercurial 。我还有一个开发人员和我一起工作。我在bluehost上有一个blabla.com Drupal-6项目,正在开发blabla.com/beta。我找到了 http://bitbucket.org/ 进行mercurial托管。我创建了一个帐户。

现在我该如何设置东西?阅读了几篇文章后,我完全糊涂了:/

  • bitbucket仅用于托管修改后的文件?所以如果我或我的开发人员朋友编辑index.php,bitbucket将只托管index.php?
  • 从现在开始我是否必须在localhost工作并将更改上传到blueshost?不再直接在blabla.com/beta上编辑?或者我仍然可以在blabla.com/beta2下使用bluehost吗?
  • 当我需要编辑任何文件时,我是否首先从bitbucket下载更新,我在localhost进行更改,更新bitbucket以获取已编辑的文件,并上传到bluehost?

对不起愚蠢的问题,我真的需要一个指导...

欣赏帮助太多了!非常感谢!

1 个答案:

答案 0 :(得分:4)

  

bitbucket仅用于托管修改后的文件?

bitbucket的主要服务是在版本控制下托管文件,但也有一种方法可以在那里存储任意文件。

  

所以,如果我或我的开发者朋友编辑index.php,bitbucket将仅托管index.php?

我是一个典型的项目,每个属于该产品的文件都被归入版本控制,而不仅仅是index.php。 see this example

  

从现在开始我是否必须在localhost上工作并将更改上传到blueshost?不再直接在blabla.com/beta上编辑?或者我仍然可以在blabla.com/beta2下使用bluehost吗?

Mercurial没有规定修复工作流程。但我建议您在编辑文件的地方安装mercurial。例如,您可以直接看到自上次提交后您所做的更改,而无需将文件从服务器复制到本地存储库。

我绝对推荐一个工作流,其中存储库中的某个位置是一个脚本,它生成存档文件,该文件传输到服务器,包含创建存档时存储库的修订版。此修订信息也应存储在服务器上(不一定在公共可访问区域),因为当出现问题时,此信息可以非常方便。

  

当我需要编辑任何文件时,首先从bitbucket下载更新,我在localhost进行更改,更新bitbucket以获取已编辑的文件,并上传到bluehost吗?

有几种不同的方法可以将数据传送到服务器:

  • 将本地存储库导出到存档并将其传输到服务器(hg archive production.tar.bz2),这是最安全的变体,因为它不依赖于服务器上的任何额外软件。此外,根据存档的大小,这种方法会浪费大量带宽。
  • 在服务器上工作并复制更改的文件,但我不建议这样做,因为非常容易错过重要的事情
  • 在服务器上安装mercurial,在那里处理工作副本,并在那里hg export进入生产区域
  • 在服务器上安装mercurial,从bitbucket(或任何其他服务器可访问的存储库)安装hg fetch
  • 在服务器上安装mercurial,从本地工作副本安装hg push到服务器(之后在服务器上安装hg update

最后两点可以将存储库公开给公众。根据您的存储库包含的内容以及您是否要共享内容,此展示可以是好的也可以是坏的。当您想要共享内容,或者限制访问权限到www.blabla.com/beta/.hg时,您可以直接从您的网络服务器克隆。< / p>

另请注意,即使您访问限制存储库,也应该不签入任何带有密码或重要机密的文件。签入模板文件(名称与生产中的名称不同),以及在服务器上复制和编辑这些文件要多得多。