使用 VisualSVN Server + TortoiseSVN 进行项目代码管理

本贴最后更新于 1550 天前,其中的信息可能已经天翻地覆

使用 VisualSVN Server 创建本地代码库管理服务器,配合 TortoiseSVN (小乌龟)进行多人项目代码提交、更新、维护版本管理工作。本文主要记录自己在安装与初步使用时的一些步骤、注意事项等。

VisualSVN Server

  1. 第一步应该先进行 VisualSVN Server 的安装。因为其可以进行代码库管理,且作为代码库管理服务器,可以提供通过 Https、http 方式在局域网(或映射到外网?)下通过浏览器进行代码库访问管理。

  2. 官网下载安装包,地址:
    https://www.visualsvn.com/server/download/
    安装参考博文:https://blog.csdn.net/weixin_30814223/article/details/99843158

  3. 需要注意的是安装路径、仓库地址(可使用默认文件夹名,该文件夹作为所有仓库总文件夹。)、备份文件路径(可替换到 D 盘下我的文档)。

  4. 安装完成后,可打开 VisualSVN Server 控制器窗口,在左侧 Repositories 树形结构根目录下创建新的代码库文件夹,一个代码库文件夹中即可存储一份项目代码。

  5. 导入已有代码库。

    因为我是先安装了 TortoiseSVN, 且安装后将原有代码创建了一个使用小乌龟 SVN 管理的代码库文件夹,发现不能通过 Https 访问浏览,因此需要安装 VisualSVN Server. 此时已经存在了一个对已有项目代码管理的代码库,所以为了统一管理,需要将已有代码库与 VisualSVN Server 代码库管理合并(防止以后因为 2 处保存而出现混乱)。
    在控制器窗口左侧的 Repositories 上打开右键菜单,选择第二项 Import Existing Repository...
    在 Select the possible import options. 下选择默认的 Copy... 进行直接复制一份代码库文件过来,然后就可以将原来的代码库文件夹整个删除,防止以后混淆。(这也是不采取第二种 Load repository from a dump file 方式的原因,且自己也找不见第二项后一步中所需要的 .dump 文件在哪里,因此暂时决定没有碰见必须使用该方式的情况下,只使用第一种方式,这样在删除原代码库文件夹后更加清晰)
    后一步中直接选择原代码库文件夹路径即可,如我的是: D:\SvnRepositories .
    导入完成后则会在 Repositories 下出现该项目代码库文件夹目录。

    此时,需要注意的是,现在可以直接删除原来代码库文件夹了,但是一定记得删除完原文件夹后,需要在已经被小乌龟进行了代码管理的本地项目代码文件夹上,打开右键菜单,选择小乌龟功能菜单中的 重新定位(这是已经汉化后的菜单),打开后会提示更换 代码库的 URL,从 URL(F):xxx... 至 URL(T):_____ ,此处填入在 VisualSVN Server 左侧目录中在导入的项目代码库文件夹上的右键菜单中的第一个选项,Copy URL to... ,如
    我的是:https://pc-2015xxx/svn/xxxx/ .(即 https://本机计算机名/svn/项目名/ 的一个 URL),将此 URL 粘贴到此处确定即可将项目代码库地址更换为 VisualSVN Server 的代码库地址了。以后提交等操作就与原来代码库无关,只与此代码库相关,且可以通过在浏览器中 https://本机计算机名/!/#项目名/ 访问项目文件、代码更新历史记录等(两个前提,一个是比如局域网下可以访问到该计算机的地方,一个是如果像下面讲到的为该代码库设置可访问用户权限,则必须通过登录有权限的账号才可访问)。

    对导入的代码库应该进行用户账号分配,以及权限分配。

  6. 项目代码库文件夹的用户权限分配。
    参考博客中的用户权限分配。新建代码库时可以选择所有人都有代码库的读写权限,也可以在管理器窗口左侧的目录中的项目代码库文件夹上通过右键菜单打开 Properties 功能,在 Security 下为该代码库设置用户及权限。可以直接设置单个用户,也可以以组为单位设置访问用户及权限。
    (至于除读写之外的权限设置,暂时未涉及)

  7. 关于 VisualSVN Server Manager 管理操作窗口左侧的目录使用
    左侧树形结构目录中的每一项、每一个文件夹都有右键功能菜单,可以先熟悉查看一下。
    重点需要说的是 VisualSVN Server(Local) 的右键功能菜单中的功能比较重要、
    a. 第一项连接其他电脑,应该是可以直接连接局域网中的其他电脑,前提是该电脑防火墙设置正确、VisualSVN Server 服务运行等,暂时不涉及。
    b. Start、Stop、Restart 则应是对 VisualSVN Server 的启动关闭控制操作。
    c. 最重要的是 Properties ,该功能中的 Network 可以设置 Server name (默认为计算机名,修改后不知道为什么没有生效,可能需要重启服务)、 Server port 端口、修改服务名则会直接自动关联修改代码库的访问 URL 地址。建议还是使用默认计算机名吧,否则还得在本地项目代码文件夹上修改小乌龟的代码库地址,比较容易因为疏忽而出错。且即便重启服务后还是只能通过原来的包含计算机名的 URL 访问,且修改代码的重新定位 URL 时不能成功。
    d. Backup 中可以重新设定默认备份文件夹。

  8. VisualSVN Server 安装后默认为开机启动 包含 VisualSVNServer 在内的至少 3 项进场(服务),因此可保持现状即可满足日常使用。

  9. 项目代码库的访问、查看、管理,可通过浏览器访问
    https://pc-2015xxx (即直接 https://计算机名),登录后可查看 Repositories 下所有当前账号拥有权限的项目代码库,可点击某个项目代码库进行进一步访问,或可直接访问如下形式的 URL ,
    https://pc-2015xxx/!/#xxxx (即 https://计算机名/!/#项目代码库文件夹名)直接访问具体项目。
    在项目中可以点击 history 进入代码提交历史查看。
    其中可以查看具体用户提交记录、每次提交中的修改、新增、删除等具体情况。

TortoiseSVN 安装使用

  1. 主要参考博客:
    https://blog.csdn.net/maplejaw_/article/details/52874348
    https://blog.csdn.net/wangmx1993328/article/details/82834204
    参考此类博客基本上就可以成功安装与使用了。

  2. 安装汉化时需要注意的是,在官网下载版本的版本与汉化包版本必须一致。官网汉化包版本为最新版本的汉化包,所以只能下载官网的最新版本客户端安装。

  3. 安装中需要注意,务必记得勾选 command line client tool 为 will be install on local hard driver . 该方式会在安装后的 bin 文件夹下安装 svnserver.exe 还是 svn.exe 文件,是后续 idea 中配置 SVN 时所需要的。

  4. 安装完成后的项目代码管理有 2 种情况,一种是从头新建的项目文件及路径,另一种是已有项目代码进行配置 SVN 管理。
    第一种情况比较简单,参考博客。第二种情况需要在已有项目文件夹上先进行导入,导入时需要配置代码库的 URL ,或及访问账号,导入成功后还必须进行检出操作,才能完成该项目的 SVN 代码管理工作。之后即可正常的使用小乌龟、 VisualSVN Server 进行代码库的访问管理了。

  5. 因为之前已经将 TortoiseSVN 安装配置完成了,此时记录这些步骤中间可能会有些注意点遗漏、或错误,需要说明一下,如果碰见可以再进行修改补充。

除了通过 SVN 进行代码管理,还可以使用 Git

  1. 同样是对代码进行管理,因为 TortoiseSVN 拥有菜单操作方式,较 Git 有更方便的易用性,因此个人比较偏好使用 SVN 形式。

  2. 另一个需要考虑的问题就是当本地一份项目代码,如何同时对应到 2 个远程代码仓库。比如 1 个局域网中的 VisualSVN Server 中的仓库,1 个 github 之类的线上代码仓库。
    看到一个方式: https://ask.csdn.net/questions/652915

    svn 和 git 是可以的,代码覆盖在一起就可以了。首先在一个文件夹里下载 git 的源码,切换分支;在另一个文件夹下载 svn 源码,切换一样的分支;最好把这两个文件夹覆盖在一起,既有 svn 版本信息,也有 git 的版本信息。不过切记代码提交。

  • SVN

    SVN 是 Subversion 的简称,是一个开放源代码的版本控制系统,相较于 RCS、CVS,它采用了分支管理系统,它的设计目标就是取代 CVS。

    29 引用 • 98 回帖 • 686 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • someone
    作者

    哇真是太厉害了呢