2

我是 Mercurial 和版本控制的新手,虽然我只从事个人 PHP 应用程序项目(直到我希望很快找到工作),但我早就应该了解它是如何工作的了。

我整天都在阅读有关 Mercurial 的内容,但我仍然对一些元素感到困惑......

首先,我了解 Mercurial 可以将我的文件直接推送到我的实时服务器,但我没有看到很多教程或示例解释这是如何完成的,所以它让我认为它不经常使用?我目前使用FTP上传文件,知道哪些文件已被修改容易出错,所以我想明显消除这个。

我也看到很多人提到了像 BitBucket 这样的服务,但是如果我要推送到 BitBucket,我该如何将我的文件发送到我的实时服务器?我可以只获取更改后的文件以通过 FTP 上传,还是我也需要在我的服务器上安装 Mercurial 或其他什么?

抱歉,如果这是一个基本问题,我对公司将/应该如何使用此服务以及如何优雅地处理文件和上传有点迷茫。我应该如何对个人项目进行版本控制?

4

2 回答 2

3

有很多方法可以做到这一点,但我将尝试将其缩小到使用 BitBucket 的场景中涉及的基本步骤:

1) 在您的开发机器和实时服务器上安装 Mercurial。

2) 在 BitBucket 中创建一个存储库。

3) 使用出现在 BitBucket 中的 URL 将存储库克隆到您的开发机器,例如:

hg clone https://your_user@bitbucket.org/your_account/your_repos .

4)以相同的方式将存储库克隆到您的实时服务器。

5) 执行您的开发并将您的代码提交到您的开发机器上的本地存储库(使用hg commit)。然后使用 . 将变更集推送到 BitBucket hg push

6) 准备好将更改部署到实时服务器后,登录到您的实时服务器并运行hg pull -u.

于 2013-11-04T18:54:54.673 回答
0

我只是使用 rsync 上传所有内容。如果您自己工作,那很简单,而且效果很好。

我设置了一个 SSL 证书,然后创建了一个 bash 快捷方式,p (目标目录):

,p() { rsync -avz --delete ./ "user@server.com:/var/www/html/$@/"; }

然后,在我的本地主机上,我可以键入,p images,当前目录将上传到 mysite/images。

如果您总是上传到同一个地方,您可以创建一个不带参数的快捷方式

alias ,pm="rsync -avz --delete ./ "user@server.com:/var/www/html/";

最后,如果您只想输入命令

rsync -avz --delete ./ "user@server.com:/var/www/html/
于 2014-12-12T09:07:21.153 回答