将Mercurial更改部署到网站托管帐户

时间:2011-08-22 16:10:14

标签: linux bash version-control mercurial

我想仅使用SSH或FTP将自发布修订版以来更改的网站文件移动到托管帐户。托管帐户是基于Linux的,但确实安装了任何版本控件,所以我不能简单地在那里进行更新,解决方案必须在本地开发机器上运行。

我基本上是在尝试做http://www.deployhq.com/所做的事,但是免费。我想发布更改,而无需重新上传所有内容或手动选择要移动的文件。我愿意只使用一个bash脚本来比较版本并复制每个文件(如何用bash来解决这个问题),因为我们将使用Linux进行开发,但是使用Web界面的东西会很好。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

考虑到目标没有安装hg,这似乎更像rsync的作业,而不是hg的作业。

像这样:

rsync -avz /path/to/local/files/ remote_host:/remote/path/

这将从... / local / files /递归(-r)传输所有文件,并将它们放在/ remote / path中。 -az压缩并保持文件属性。

rsync只负责传输已更改的文件。确保在指定源路径时观察尾随斜线,它们很重要(参见上面的链接)。