如何从工作站到服务器设置简单的Mercurial备份解决方案?

时间:2012-05-09 14:09:34

标签: macos mercurial windows-server atlassian-sourcetree

首先,坦白。在大约10年的专业发展中,我从未使用过源控制系统。在那里,感觉更好。我的历史设置(根据管理层推荐,哈!)一直是在服务器上创建过时的文件夹,并且每天晚上将我的数据复制并粘贴到其中。

我很早就知道一个更好,更易于管理的解决方案是使用git或Mercurial来管理我的源代码但是我从来没有花时间学习这些新工具,因为myold系统一直有效足以满足我作为我曾经参与的每个项目的唯一开发人员的需求。

我终于改变了这个设置。我在我的Mac上安装了Mercurial,经过一些阅读后,我更喜欢git。作为GUI前端,我安装了SourceTree,它看起来很容易使用且非常友好。我遇到的问题是我找不到一个非常简单,直接的演练来设置一个服务器存储库,我用它来推动每个晚上的更改。我确定它在那里,我找不到它。

我老老实实地试图谷歌这个,但有一些关于术语“SourceTree”。我找不到任何有用的东西,因为我发现的一半信息都是关于使用git而且它往往涉及将项目推送到像github.com这样的网站,这与我的情况无关。

此外,我已经浏览了Mercurial文档,我仍然可能不完全清楚完整的commit / update / push / pull / branch / merge概念。我只是希望得到一些相当快速的设置,以备份和跟踪我的项目的变化,而不必成为源控制大师。

如何在Windows网络服务器上设置简单存储库,每天晚上推送更改?我的公司希望我将数据存储在个人文件夹中,即网络共享备份到磁带,然后存储在现场。

我确信它必须简单。我只是想确保我正确地做到这一点,以便在我需要访问备份的情况下,它就在那里,可以很容易地拉动......或分支......或者其他什么。

2 个答案:

答案 0 :(得分:3)

嗯,这取决于您要使用的服务器类型。

我们假设它不是Windows服务器(只是一个猜测,因为你是Mac用户)。我们也假设你现在只需要自己,而不是一群用户。

然后最简单的方法是使用SSH。假设服务器为server,并且您在那里有一个帐户rlh。您需要有一个公钥/私钥对才能进行无缝访问(无需在每次拉/推输入时输入密码)。显然,您还需要在服务器上安装Mercurial。

在服务器上,创建一个仓库(例如,在您的主目录中):

rlh@mac$ ssh server
rlh@server$ mkdir myproject
rlh@server$ cd myproject
rlh@server$ hg init

在您的计算机上,克隆回购:

rlh@mac$ hg clone ssh://rlh@server/myproject myproject

默认目标将自动设置,您应该能够在没有其他配置的情况下进行拉/推。

如果您对此有任何疑问,请随时询问。

答案 1 :(得分:2)

在搜索托管解决方案时,最好不要在查询中包含术语SourceTree - SourceTree只是一个前端工具,原则上与Mercurial托管无关。这可能解释了缺乏有用的信息。

以下是设置Mercurial服务器的方法概述:

https://www.mercurial-scm.org/wiki/PublishingRepositories

就个人而言,我使用普通的hgweb,这对我很有用。

另外,我建议您考虑使用BitBucket或Google Code等托管服务。设置和维护所需的工作量要少得多。以下是Mercurial托管服务的概述:

https://www.mercurial-scm.org/wiki/MercurialHosting

我个人也在考虑将我自己托管的Mercurial存储库移到BitBucket上,因为它减少了维护开销,而且还具有bug跟踪器,wiki等功能。