Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Version control 代码版本系统建议_Version Control - Fatal编程技术网

Version control 代码版本系统建议

Version control 代码版本系统建议,version-control,Version Control,我必须为一个项目安装一个代码版本控制系统。我想有两个分支机构,一个是公共的,一个是私人的;每个分支都有自己的用户集。我想为私有分支编写一些钩子——当开发人员在分支中提交代码时,一些文件会被复制到另一个区域(类似于部署操作)。另外,我希望有一个指向存储库的web界面 你推荐我什么软件来满足这些要求?SVN是一个好的候选人吗 L.E.操作系统是GNu/Linux,我更喜欢开源解决方案 谢谢,颠覆是我的一票。我有一个类似的设置,其中有一个主干用于主开发和发布标记,该标记具有部署挂钩,用于将文件推送到远

我必须为一个项目安装一个代码版本控制系统。我想有两个分支机构,一个是公共的,一个是私人的;每个分支都有自己的用户集。我想为私有分支编写一些钩子——当开发人员在分支中提交代码时,一些文件会被复制到另一个区域(类似于部署操作)。另外,我希望有一个指向存储库的web界面

你推荐我什么软件来满足这些要求?SVN是一个好的候选人吗

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


谢谢,颠覆是我的一票。我有一个类似的设置,其中有一个主干用于主开发和发布标记,该标记具有部署挂钩,用于将文件推送到远程Web服务器。允许您通过浏览器查看存储库,或者您可以使用功能更丰富的解决方案(如执行问题跟踪)以及存储库的GUI。

它(具有私有和公共分支)无法(很好地)与SVN一起工作

您可以使用分布式版本控制软件:git、mercurial、bazaar、fossil。。。你有选择。mercurial可能更容易学习,它可能是对分布式存储库概念的一个很好的介绍

在这些系统中,您的计算机上有一个完整的历史存储库,并且可以将它的克隆放在其他地方(可能在公共访问中联机)。 您在本地存储库上工作(甚至可以有多个),然后在本地提交。每次提交都不会移出您的存储库,而是停留在存储库中

直到您从其他存储库中提取或推送到其他存储库。这些是存储库(您的、经过一些特殊修改的您的克隆、朋友的repo、队友的repo、开发团队的repo、公共repo)之间的更改事务(推/拉)

由于组织是免费的,在您的具体情况下,您当然希望在您的队友将获得并投入变更的地方建立一个私人团队回购,以及另一个公共回购(可能在bitbucket.org上,如果您选择git,也可能在github.org上),在您决定将您的团队回购变更推到公共回购中之前不会移动

顺便说一句,我目前正为一个项目设置这一点。

SVN非常出色


根据您的技能水平,还有GIT/cvs。但是如果你有选择的话,当然也可以选择SVN,你可能会想要获得Tortiese SVN,因为gui非常好

+1-我也使用Tortoise-如果你在IDE-1 Subversion之外的项目上工作,那么shell集成是非常方便的,因为它支持分支/合并两个并行开发的团队,这被大多数人完全超越了分布式VCSs。这在他的用例中是不合适的。谢谢你的回答,但我将使用git:-)