我是Mercurial和版本控制的新手,虽然我只是在处理个人PHP应用程序项目(直到我希望很快就能找到一份工作)但我很早就知道它是如何工作的。
我整天都在读Mercurial,但我仍然对一些元素感到困惑......
首先,我了解Mercurial CAN将我的文件直接推送到我的实时服务器,但是我没有看到很多教程或示例解释这是如何完成的,所以它让我觉得它不经常使用?我目前使用FTP来上传我的文件,而且很容易知道哪些文件已被修改,所以我想明确地消除它。
我也看到像BitBucket这样的服务被提到了很多,但是如果我要推送到BitBucket,那么如何将我的文件存入我的实时服务器?我是否只能通过FTP上传已更改的文件,或者我是否需要在我的服务器上安装Mercurial?或者
道歉,如果这是一个基本问题,我对公司将如何/应该如何使用这项服务,以及如何优雅地处理文件和上传,我只是有点迷失。我该如何对个人项目进行版本控制?
答案 0 :(得分:3)
有很多方法可以做到这一点,但我会尝试将其缩小到使用BitBucket的场景中涉及的基本步骤:
1)在您的开发计算机和您的实时服务器上安装Mercurial。
2)在BitBucket中创建一个存储库。
3)使用BitBucket中显示的URL将存储库克隆到您的开发机器,例如:
hg clone https://your_user@bitbucket.org/your_account/your_repos .
4)以相同的方式将存储库克隆到您的实时服务器。
5)执行dev并将代码提交到dev机器上的本地存储库(使用hg commit
)。然后使用hg push
将更改集推送到BitBucket。
6)准备好将更改部署到实时服务器后,登录到实时服务器并运行hg pull -u
。
答案 1 :(得分: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/