2010-09-16 67 views
1

我必须为项目安装代码版本控制系统。我想有两个分公司,一个公共和一个私人;每个分支都有它自己的一组用户。我想为私有分支编写一些钩子 - 当开发人员在分支中提交代码时,一些文件被复制到另一个区域(类似于部署操作)。此外,我想有一个网络界面的存储库。代码版本系统建议

什么软件给你我的电子书籍对于这些要求? SVN是不错的人选?

L.E.操作系统是GNu/Linux,我更喜欢开源解决方案。

谢谢,

回答

3

它(有私人和公共分支)不会与SVN工作(很好)。

你可以做的是使用分布式版本控制软件:git的,善变,商场,化石......你有选择。 mercurial可能更容易学习,它可能是对分布式存储库概念的一个很好的介绍。

在这些系统中,你有你的计算机上的完整历史资料库,并可以把其他地方(也许在网上公开访问)它的克隆。 你在本地仓库上工作(你甚至可以有几个仓库),然后在本地仓库中进行提交。每个提交都不会移出您的存储库,它将保留在那里。

直到你拉或推到其他存储库。这些是仓库之间变化的交易(推/拉)(你的,你的一个克隆,有一些特殊修改,一个朋友的回购,一个队友回购,一个开发团队回购,一个公共回购,你想要的)。

由于该组织是免费的,在您的具体情况下,您当然希望有一个私人团队回购的地方,您的队友将获得并进行更改,另一个公共回购(可能位于bitbucket.org或github.org如果你的选择git),直到你决定在公共回购中推动你的团队回购变更为止。

我目前正在制定正是由这样一个项目。

+0

谢谢,我发现git非常好。 – 2010-09-17 08:58:28

0

Subversion是我的投票。我有一个类似的主干开发和发布标签的设置,它有部署钩子将文件推送到远程web服务器。 Websvn可让您通过浏览器查看存储库,也可以使用功能更丰富的解决方案Redmine执行问题跟踪以及存储库的GUI。

+4

-1 Subversion支持并行开发的两个团队的分支/合并完全超出了大多数分布式VCS。在他的使用情况下是不恰当的。 – 2010-09-16 19:33:56

+0

感谢您的回答,但我会使用git :-) – 2010-09-17 08:58:52

0

SVN是相当恒星

根据您的技术水平也有GIT/CVS。但是,如果你有一个明确的选择与SVN一起也可以抓住Tortiese svn,因为gui很不错

+0

+1 - 我也使用Tortoise - 如果您在IDE之外的项目上工作,shell集成非常方便 – Ken 2010-09-16 19:19:37