我正在尝试在我的组织中实现 SVN。我们有 2 台服务器:生产服务器和开发服务器。 有些程序员有自己的系统副本。
我们目前的工作方式: 开发服务器位于主干下。有些程序员直接处理它。如果程序员有自己的副本 - 他在 svn 中有私有(private)分支。
主要问题在于生产服务器。在我们的系统中,我们没有发布版本,因此 - svn 中没有标签。我已经为生产创建了单独的分支 - master。如果我们需要将一些提交从开发转移到生产 - 我们合并主干和主分支。
也许还有其他方法可以传输和控制对生产服务器的更改? 或者使用不同的版本控制系统?
最佳答案
我不确定“程序员有自己的副本”是什么意思...如果您使用 SVN,他们都必须有本地副本才能工作。
无论如何,我建议您阅读 Version Control with Subversion (the SVNBook) ,更具体地说是 basic working cycle并检查如何 tags被使用。它肯定比每次你想要“发布”时将分支合并到主干上更容易使用,尽管有时你无论如何都必须这样做。
您也可以考虑使用其他SCM,例如Git , Mercurial或Bazaar 。我真的很喜欢 Git,但 Bazaar 可能是有史以来设计的最好的 SCM 之一:易于使用并且与 Git 一样好。 Git 确实很好,但可能需要一些时间才能掌握,特别是如果您来自 SVN。
从一个 SCM 切换到另一个 SCM 并不是一件容易的事,特别是如果您已经拥有相当多的存储库,因此如果您打算这样做,请先使用一个小的存储库进行测试,并尝试保留版本历史记录SVN(如果目标是 Git,则有 tools),然后选择大的。
关于svn - 使用 SVN 的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12068385/