Cas*_*sie 5 linux ssh mercurial
我正在尝试为我们的团队选择版本控制软件,但我之前没有太多经验.搜索和谷歌搜索后,似乎Mercurial是一个很好的尝试.但是,我对它的一些一般信息有点困惑.基本上,我们的团队只有5个人,我们都连接到将用于存储存储库的服务器机器.该服务器是Redhat Linux系统.我们可能会使用很多集中式工作流程.因为我喜欢本地提交的想法,所以我更喜欢DVCS类软件.现在我正在尝试安装mercurial.这是我的问题.
1)用于存储库的服务器是否总是需要安装软件"mercurial-server"?或者它取决于它使用的工作流程类型?换句话说,如果没有用于工作的集中式工作流,那么服务器是否可以通过"mercurial client"安装?
我对"mercurial-server"一词感到困惑.或者它意味着安装在服务器上的mercurial总是被称为"mercurial服务器",如果它是集中的,它确实很重要.另外,因为我们都在该服务器上工作,它是否意味着只需要安装一个mercurial副本?我们都有自己的用户目录,例如/ home/Cassie,/ home/John,...和/ home/Joe.
2)SSH必须吗?或者它取决于用户和服务器之间的连接类型?因为我们都在服务器上工作,所以不需要SSH吗?
非常感谢你,
有两件事可以称为"mercurial服务器".
一个是社交约定,"共享驱动器上的存储库X是我们的公共存储库".您可以安全地推送和拉到该已安装的存储库,并将其用作开发的常用"主干".
第二种可能是允许mercurial远程连接的特定软件.有很多选项可供您自己设置,以及其他远程主机的选项.
查看第一个链接以获取不同连接选项的列表.但作为#2的具体答案:不,您不需要使用SSH,但如果您在使用它的环境中,它通常是最简单的选择.
您可能想要使用的术语,而不是"mercurial server",是"远程存储库".这个术语用于描述推送/拉/克隆/传入/传出/其他 - 我忘记命令的"其他存储库"(你没有执行命令的存储库).远程存储库可以是同一磁盘上的另一个存储库,也可以是网络上的某个存储库.
通常,您使用一个共享存储库在不同开发人员之间共享代码。虽然您在技术上不需要它,但它的优点是当新软件只有一个位置时更容易同步。
在最简单的情况下,这可以是一个简单文件共享上的存储库,其中文件锁定是可能的(NFS 或 SMB),每个开发人员都有写访问权限。在这种情况下,不需要在服务器上安装 mercurial,但有缺点:
我建议使用 http 或 ssh 方法。为此,您需要在服务器上安装 mercurial(我没有考虑 http-static 方法,因为您无法推送到 http-static 路径),并获得以下优点:
http 和 ssh 之间的决定取决于您的本地网络环境。http 的优势在于它绕过了许多公司防火墙,但是当您想通过 http 将内容推回服务器(或不希望每个人都看到内容)时,您需要注意安全身份验证。另一方面,ssh 有一个缺点,即您可能需要保护服务器,以便客户端无法在那里运行任意程序(这取决于您的客户端的可信度)。