我必须为项目安装代码版本控制系统。我想有两个分支机构,一个是公共的,一个是私有的;每个分支都有自己的用户集。我想为私有分支编写一些钩子 - 当开发人员在分支中提交代码时,一些文件被复制到另一个localation(类似于部署操作)。另外,我想有一个存储库的Web界面。
对于这些要求,您推荐我的软件是什么? SVN是一个很好的候选人吗?
L.E。操作系统是GNu / Linux,我更喜欢开源解决方案。
谢谢,
答案 0 :(得分:3)
它(拥有一个私有和公共分支)不能(很好地)与SVN一起使用。
你可以做的是使用分布式版本控制软件:git,mercurial,bazaar,fossil ......你可以选择。 mercurial可能更容易学习,它可能是对分布式存储库概念的一个很好的介绍。
在这些系统中,您的计算机上有一个完整的历史存储库,并且可以放在其他地方(可能是在公共访问的在线)中。 您在本地存储库(您甚至可以有几个)上工作,然后在本地提交。每次提交都不会移出您的存储库,它将保留在那里。
直到你拉出或推送到其他存储库。这些是存储库之间变化的交易(推/拉)(你的,经过一些特殊修改的克隆,朋友的回购,团队回购,开发团队回购,公共回购,你想要的东西)。
由于组织是免费的,在您的具体情况下,您当然希望在您的队友将获得并进行更改的地方拥有私人团队回购,以及另一个公共回购(可能在bitbucket.org或github.org,如果您的选择git),直到你决定在公共回购中推动你的团队回购更改。
顺便说一下,我正在为一个项目准备好这个。
答案 1 :(得分:0)
Subversion是我的投票。我有一个类似的主机开发和发布标签的主干设置,它有部署钩子将文件推送到远程网络服务器。 Websvn允许您通过浏览器查看存储库,或者您可以使用功能更丰富的解决方案(如Redmine)来执行问题跟踪以及存储库的GUI。
答案 2 :(得分:0)
SVN非常出色
根据您的技能水平,还有GIT / cvs。但是,如果你有一个选择defnally去SVN也你可能想抓住Tortiese svn因为gui非常好