这是一个真正的版本控制系统虚拟!适当的新首发!
我有一个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托管。我创建了一个帐户。
现在我该如何设置东西?阅读了几篇文章后,我完全糊涂了:/
对不起愚蠢的问题,我真的需要一个指导...
欣赏帮助太多了!非常感谢!
答案 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
),这是最安全的变体,因为它不依赖于服务器上的任何额外软件。此外,根据存档的大小,这种方法会浪费大量带宽。hg export
进入生产区域hg fetch
hg push
到服务器(之后在服务器上安装hg update
)最后两点可以将存储库公开给公众。根据您的存储库包含的内容以及您是否要共享内容,此展示可以是好的也可以是坏的。当您想要共享内容,或者限制访问权限到www.blabla.com/beta/.hg时,您可以直接从您的网络服务器克隆。< / p>
另请注意,即使您访问限制存储库,也应该不签入任何带有密码或重要机密的文件。签入模板文件(名称与生产中的名称不同),以及在服务器上复制和编辑这些文件要多得多。