我正在最终将Mercurial用作我们的版本控制系统。对于每个人来说,这都是一笔不小的数目,令人震惊的是,他们从未使用过VCS。经过几个月的漏洞发现之后,他们终于意识到了这一点,现在意识到与使用共享文件夹网络相比,它有多好!
在推广过程中,我正在考虑不同的策略来管理我们的东西,并且我倾向于使用Bitbucket作为我们的“中央”存储库。Bitbucket中的项目将完全是私人项目,每个人都会从那里推而走。
我愿意接受不同的建议,但是有人有类似的设置吗?如果是这样,您遇到了哪些警告?
我正在最终将Mercurial用作我们的版本控制系统。对于每个人来说,这都是一笔不小的数目,令人震惊的是,他们从未使用过VCS。经过几个月的漏洞发现之后,他们终于意识到了这一点,现在意识到与使用共享文件夹网络相比,它有多好!
在推广过程中,我正在考虑不同的策略来管理我们的东西,并且我倾向于使用Bitbucket作为我们的“中央”存储库。Bitbucket中的项目将完全是私人项目,每个人都会从那里推而走。
我愿意接受不同的建议,但是有人有类似的设置吗?如果是这样,您遇到了哪些警告?
Answers:
我将Bitbucket用于私有存储库托管,我的一位客户在GitHub上使用私有存储库托管。与我合作的另一家公司在Jira的服务器上使用Subversion的私有存储库托管。
异地存储数据(如果不是唯一的地方)可以降低灾难恢复的风险。由于您将在开发机器上拥有源的物理副本,并且git和mercurial都将整个开发历史记录保留在本地副本中,因此这是一个非常可行的解决方案。除非单个项目中有千兆字节的数据,并且网络连接缓慢,否则我强烈建议您使用此选项。它的成本低廉,为开发人员提供了很多可移植性和灵活性,并且为您提供了自动冗余。
根据您的偏执程度,您可能会担心让第三方存储您的代码可能会暴露安全风险,但是我认为在实践中,这并不比让开发人员拥有可在公司网络上使用的笔记本电脑更糟。Github和Bitbucket都使用SSH传输数据,因此中间人攻击的发生概率相对较低。
我不是BitBucket用户,但建议您使用细齿梳阅读其条款和条件。如果要在此存储公司的私有项目,则需要确保它们的服务条款,数据保护和安全性/隐私性。
我认为您已经考虑过在内部计算机上托管Mecurial“中央/主服务器”吗?
我想说,这肯定归结为成本分析更便宜;运行您自己的服务器(或VM实例)或将其放置在其他位置。
另外,如果公司已经设置了网络共享文件夹,则您可能要考虑使用Git,因为您可以将网络共享文件夹转换为“远程”存储库(例如)git init --bare
,并且网络共享权限已经存在。为用户。然后,每个用户都可以使用将该共享文件夹添加为远程文件夹git remote add origin file:///some/shared/folder
(这可能不是引用文件共享的确切语法,我会用google搜索它的确切语法)。
我基本上是在家中管理个人项目;我的家庭局域网上有一个NAS驱动器,上面有我的“远程”存储库,然后可以通过Windows映射的驱动器号从各种PC和笔记本电脑上找到它们。
我使用BitBucket已有一段时间,我发现它是一项非常不错的服务。我认为隐私或安全性不会有任何问题。
话虽这么说,如果您不满意将公司代码托管在其他人的服务器上,则可以设置一个Mercurial存储库,以通过ssh在您公司的一台服务器上进行访问。参见http://mercurial.selenic.com/wiki/SharedSSH和http://blog.mixu.net/2010/10/04/setting-up-private-ssh-based-mercurial-repo-hosting-on-centos /。