0

第一,忏悔。在大约 10 年的专业发展中,我从未使用过源代码控制系统。在那里,感觉好多了。我的历史设置(按照管理层的建议,哈!)是在服务器上创建过时的文件夹,并每天晚上将我的数据复制并粘贴到其中。

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

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

老实说,我曾尝试用谷歌搜索,但“SourceTree”一词有一些含义。我找不到任何有用的信息,因为我找到的信息中有一半是关于使用 git 的,而且它往往涉及将项目推送到类似的站点github.com,这与我的情况无关。

此外,我浏览了 Mercurial 文档,但我可能仍然不完全清楚完整的提交/更新/推送/拉取/分支/合并概念。我只想快速进行一些设置,以备份和跟踪我的项目的更改,而不必成为源代码控制专家。

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

我确信它必须很简单。我只是想确保我做得正确,以便在我需要访问备份的情况下,它就在那里并且可以很容易地拉动......或分支......或其他任何东西。

4

2 回答 2

3

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

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

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

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

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

在您的机器上,克隆 repo:

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

默认目标将自动设置,您应该无需额外配置即可拉/推。

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

于 2012-05-09T22:23:22.887 回答
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,因为它减少了维护开销,而且它还具有错误跟踪器、wiki 等功能。

于 2012-05-10T08:32:22.923 回答