代码版本系统建议
我必须为项目安装代码版本控制系统。我想要有两个分支机构,一个是公立的,一个是私立的;每个分支机构都有自己的用户组。我想为私有分支编写一些钩子 - 当开发人员在分支中提交代码时,一些文件会被复制到另一个位置(类似于部署操作)。另外,我想要一个存储库的网络界面。
您推荐什么软件来满足这些要求? SVN 是一个好的选择吗?
LE 操作系统是 GNu/Linux,我更喜欢开源解决方案。
谢谢,
I have to install a code versioning system for a project. I would like to have two branches, one public and one private; each branch has it's own set of users. I would like to write some hooks for the private branch - when a developer commits code in the branch, some files are copied into another localation (similar to a deployment operation). Also, I would like to have a web interface to the repositories.
What software to you recomment me for these requirements? Is SVN a good candidate?
L.E. The operating system is GNu/Linux and I prefer an open source solution.
Thanks,
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
SVN 非常出色,
根据您的技能水平,还有 GIT/cvs。但是如果你确实选择使用 SVN,你可能也想使用 Tortiese svn,因为它的 GUI 非常好
SVN is pretty stellar
Depending on your level of skill there is also GIT/cvs. But if you have a choice defintally go with SVN also you might want to grab Tortiese svn as the gui is pretty good
颠覆是我的投票。我有一个类似的设置,带有用于主要开发和发布标签的主干,其中有部署挂钩将文件推送到远程网络服务器。 Websvn 允许您通过浏览器查看存储库,或者您可以使用功能更丰富的解决方案,例如 Redmine 用于执行问题跟踪以及存储库的 GUI。
Subversion is my vote. I have a similar setup with a trunk for main development and release tags which have deployment hooks to push files to a remote webserver. Websvn lets you view the repositories via your browser or you can use a more feature-rich solution like Redmine to perform issue tracking as well as a GUI for the repository.
它(拥有私有和公共分支)无法与 SVN 一起(很好地)工作。
你可以做的是使用分布式版本控制软件:git、mercurial、bazaar、fossil...你有选择。 Mercurial 可能更容易学习,并且可能是对分布式存储库概念的一个很好的介绍。
在这些系统中,您的计算机上有一个完整的历史存储库,并且可以将其克隆放在其他地方(可能是在线公共访问)。
您在本地存储库(甚至可以有多个)上工作,然后在本地提交。每次提交都不会移出您的存储库,它将保留在那里。
直到您从其他存储库中拉取或推送到其他存储库。这些是存储库(您的、经过一些特殊修改的克隆、朋友的存储库、队友的存储库、开发团队的存储库、公共存储库、您想要的存储库)之间的更改事务(推/拉)。
由于该组织是免费的,在您的具体情况下,您当然希望在某个地方有一个私人团队存储库,您的队友可以在其中获取并进行更改,以及另一个公共存储库(如果您选择 git,可能在 bitbucket.org 或 github.org 上)在您决定将团队回购更改推送到公共回购中之前,它不会移动。
顺便说一句,我目前正在为一个项目进行准确的设置。
It (having a private and public branch) will not work (nicely) with SVN.
What you can do is use a distributed version control software : git, mercurial, bazaar, fossil... you have choice. mercurial might be the simpler to learn and it might be a good introduction to the concept of distributed repositories.
In those systems, you have a full-history repository on your computer, and can put somewhere else (maybe online in a public access) a clone of it.
You work on your local repository (you even can have several) then commit in local. Each commit will not move out of your repository, it will stay there.
Until you pull from or push to other repositories. Those are transactions (push/pull) of changes between repositories (your's, a clone of your's with some special modifications, a friend's repo, a teammate repo, a dev team repo, a public repo, what you want).
As the organisation is free, in your specific case you certainly want to have a private team repo somewhere where your teammates will get and put changes in, and another public repo (maybe on bitbucket.org, or github.org if your choose git) that will not move until you decide to push your team repo changes in the public repo.
I'm currently setting exactly that for a project by the way.