Version control Mercurial on';普通';网络主机

Version control Mercurial on';普通';网络主机,version-control,mercurial,ftp,Version Control,Mercurial,Ftp,我已经使用mercurial有一段时间了,用于我所有的网站项目。我主要使用一个中央存储库(Bitbucket),并在需要时将项目克隆到本地开发设备中。 在我的开发环境中,我总是使用FTP将网站或更改上传到live server。 但是,由于大多数实时网站(上传文件、ini文件、其他开发人员等)随着时间的推移而发生变化,我也希望将实时网站置于版本控制之下。不幸的是,我的大多数客户使用(便宜的)普通旧的网络主机,只有FTP访问(如果我幸运的话,可以使用SFTP)。 我一直在读: 谷歌向我扔的一

我已经使用mercurial有一段时间了,用于我所有的网站项目。我主要使用一个中央存储库(Bitbucket),并在需要时将项目克隆到本地开发设备中。 在我的开发环境中,我总是使用FTP将网站或更改上传到live server。 但是,由于大多数实时网站(上传文件、ini文件、其他开发人员等)随着时间的推移而发生变化,我也希望将实时网站置于版本控制之下。不幸的是,我的大多数客户使用(便宜的)普通旧的网络主机,只有FTP访问(如果我幸运的话,可以使用SFTP)。 我一直在读:

谷歌向我扔的一些结果。不知何故,我觉得我完全误解了这一切,并没有拿出一个好的工作流程。
对于这个案例,什么是好的工作流程?我将如何设置?如果需要的话,我不介意换成Bazaar或Git(老实说,我有点害怕Git,我读到的关于Git的所有内容似乎都比我读到的关于Mercurial或Bazaar的内容技术性强10倍,在Windows上安装它似乎意味着安装各种辅助软件,但这是另一回事。我提到它只是为了表明Git是我的最后手段)

经过进一步研究,我决定目前最好的方法(直到我能想出更好的解决方案)是将ftp文件夹与本地文件夹同步(使用第三方软件,如goodsync)。这样我可以将网站视为(第二个)本地存储库。 因此,我现在的工作流程是:

  • 在本地同步的实时站点上创建存储库
  • 克隆到开发文件夹
  • 在开发和实时同步文件夹之间推送/更新更改
  • 一旦开发完成,一个自动脚本将提交并推送 将实时同步文件夹上的更改更改为bitbucket

  • 如果有人能想出更好的方法,我洗耳恭听;-)

    我们是在讨论将网站内容发布到托管服务器吗?你不需要Mercurial来做这件事。首先,与ftp相比,版本控制似乎越来越受欢迎,我理解这一点。第二,我主要谈论的是跟踪live server上的更改。您列出的文章讨论的是通过http发布存储库,这可能与从该位置发布实际站点不一致。您知道,问题是,人们谈论ftp有多么过时和不安全,以及版本控制有多么完善。理论上我同意。但在实践中,当涉及到构建和维护网站时,版本控制似乎至少需要一个VPS来创建一个良好的工作流。令人遗憾的是,我的大多数客户都有非常基本的需求和很少的预算。将每年6欧元的stabndard网络主机帐户与每年100欧元的基本VPS帐户进行比较是一个非常简单的决定。便宜的网络主机是一个非常常见的特征,为什么没有版本控制考虑到这一点呢?玩了3天这个设置后,我决定它根本不起作用。保持远程服务器与我的本地计算机同步速度太慢,占用资源太多。基本上,我恢复到我以前的设置,在实时服务器上运行每日备份,然后通过本地存储库手动复制。有人会认为,到目前为止,一个保持网站最新的好办法已经发明出来了?