您能教我如何在 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 登录,则效果非常好。