Web 开发最佳实践中如何以及在何处创建 Subversion 存储库

Web 开发最佳实践中如何以及在何处创建 Subversion 存储库

您能教我如何在 Redhat 服务器上创建 svn 吗?其中有几个站点,每个站点都需要:/home/webmaster/www/kmp.ru/ /home/webmaster/www/yandexapi/ /home/webmaster/www/fms01.ru/ /home/webmaster/www/klubpodarkov.com/

可能只有一个 svn 还是有多个?如何通过http://或获取 svn 连接svn://。我在哪里可以调整它?我对此不太理解!

PS:抱歉,我的问题可能比较愚蠢

答案1

有很多方法可以做到这一点,但这里有一个简单的例子。我建议阅读 SVN 手册以了解更多信息这里

  • 为每个站点创建 repos:
    • svnadmin create /var/svn/site1
    • svnadmin create /var/svn/site2
  • 配置 apache2 使用 webDAV 并定义 SVN 目录
  • 通过 webDAV 安装 repos
    • mount -t dav2fs _http://localhost/svn/site1 /mnt/site1
  • 将挂载目录添加到 apache2 别名

这使您可以从别名查看最新的 SVN 版本,并使用类似 _http://server/svn/site1 的 URL 访问 SVN。

由于自动链接生成,必须添加不必要的下划线。-

答案2

我为每个用户/客户创建一个 svn 目录,然后他们可以创建包含不同项目的子文件夹

  • /svn/客户端/用户1/

    • /svn/客户端/用户1/项目1
    • /svn/客户端/用户1/项目2
    • /svn/客户端/用户1/项目3
  • /svn/客户端/用户2/

    • /svn/客户端/用户2/项目1
    • /svn/客户端/用户2/项目2
    • /svn/客户端/用户2/项目3

要安装 svn 存储库,请使用 apache mod_dav 和 mod_svn

答案3

您可以拥有一个或多个存储库 - 从技术角度来看这并不重要,因为您可以根据需要检出存储库的部分或全部。

但是,如果您与不同站点上的其他人合作,您可能希望每个站点一个存储库。如果您想为每个客户端分配磁盘配额,每个站点一个存储库也是可行的。我为每个用户创建一个用户文件夹,并将存储库、暂存站点和实时站点文件存储在用户文件夹中,如下所示:

/home/user
/home/user/svn_repo
/home/user/www/live-site
/home/user/www/staging-site

从 repo 中检出到本地工作文件夹并从那里提交回 repo。

从 repo 签出/更新到 staging-site,向客户展示您所做的更改并进行测试。一旦一切正常并得到同意,签出/更新到 live-site。如果多个人尝试进行更新,这会变得有点混乱。最好由一个人承担这个角色。

红豆书如 onik 所述。如果您在 Windows 系统上进行任何编辑Tortoise-SVN将是无价之宝。使用 Tortoise-SVN,您还可以通过 ssh+svn: 伪协议进行连接。如果您在服务器上使用基于签名的 ssh 登录,则效果非常好。

相关内容