VisualSVN Server最新下载地址:https://www.visualsvn.com/files/VisualSVN-Server-5.3.0-x64.msi
TortoiseSVN 最新下载地址:
Download TortoiseSVN-1.14.5.29465-x64-svn-1.14.2.msi (TortoiseSVN)
一,SVN是什么?
SVN是Subversion的简称,是一种版本控制系统(Version Control System,VCS)。版本控制系统是一种用于管理文件和代码版本的软件工具,它允许多人协同开发项目、跟踪文件的修改历史,并提供了回滚、分支、合并等功能。
Subversion(SVN)是由CollabNet公司开发的一种集中式版本控制系统。它提供了一个中央仓库(Repository)来存储项目的文件和历史记录,并允许多个开发者通过客户端软件与该仓库进行交互。开发者可以从仓库检出(Checkout)项目的副本到本地工作区(Working Copy),在本地进行修改、添加、删除等操作,然后将这些变更提交(Commit)到中央仓库中。
SVN具有以下特点和优势:
- 版本控制:SVN能够跟踪文件的修改历史,记录每个版本的变更信息,并支持查看、比较和恢复历史版本。
- 协同开发:多个开发者可以同时使用SVN协同开发同一个项目,通过提交和更新操作保持文件的同步。
- 分支和合并:SVN支持创建分支(Branch)来并行开发不同的功能或版本,然后将分支合并(Merge)回主线。
- 冲突解决:当多个开发者同时修改同一个文件时,SVN能够帮助解决冲突(Conflict)并合并不同版本的修改。
- 安全性:SVN提供身份验证和权限控制机制,可以限制用户对仓库和文件的访问权限。
- 简单易用:SVN的命令行界面和图形化客户端工具提供了简单直观的操作界面,方便开发者使用和学习。
需要注意的是,SVN是一种集中式版本控制系统,与分布式版本控制系统(如Git)相比,它的操作和数据都集中在中央仓库中,开发者需要与中央仓库进行交互。而分布式版本控制系统则将完整的项目副本分发给每个开发者,使得开发者可以在本地进行版本控制操作,更加灵活和独立。
二,SVN的工作原理
三,SVN的主要操作
- SVN检出(SVN Checkout)
- SVN提交(上传 SVN Commit)
- SVN更新(下载 SVN Update )
- 重新定位:SVN地址发生改变时,需要重新定位
- 显示日志:查看历史记录
1、SVN检出(SVN Checkout):
SVN检出是在第一次与SVN服务器建立连接的时候使用
检出时需要提供:
- SVN的地址
- 用户名和密码
注意:在检出前,先新建一个文件夹,因为检出时会检出很多文件和文件夹,新建一个文件夹就是为了把所有检出的文件和文件夹放在一起。
检出步骤,如下:
1) 创建一个空的文件夹(项目名),如:D:\huileketang
2) 进入新建的文件夹
3) 右击,选择”SVN 检出…”
4) 在打开的小窗口中,
a) 版本库URL:输入项目的svn url地址,
b) 检出至目录:输入第1步中新建的文件夹目录(D:\huileketang)
5) 点击 “确定”即可检出。
注意:如果是第一次检出,则会弹出下面的2张图,输入用户名和密码,如下图:
在上图输入用户名和密码后,点击“确定”按钮后,即开始从SVN服务器下载数据到本机,
如下图:
然后点击上图中“确定”按钮即可。此时,就完成了第一次从SVN服务端下载文件。
6) 查看本机文件结果,如下图:
2、SVN提交(上传 SVN Commit):
SVN提交即将电脑上文件或文件夹的修改、增加、删除提交或者上传到SVN服务器
每当修改或删除本地文件时,即每当本地文件和服务器文件不一致时,都可以通过“提交”功能,将本地的文件上传到服务器,这样其他人就可以更新(下载或者同步)到你提交的文件。
如:下图红色部分的“已修改状态”的文件
- 如果你想提交当前文件夹中所有修改的文件或者文件夹,那么你需要在文件夹的空白处右击,并选择“SVN提交(C)…”
- 如果你只想提交某一个文件或者文件夹的最新内容,那么你只需要右击那个文件或者文件夹,并选择“SVN提交(C)…”
3、SVN更新(下载 SVN Update ):
将SVN服务器中修改的内容更新/下载到个人电脑上,与SVN服务器保持一致
每当你想看某个或者某些文件的最新内容时,你需要先从SVN上下载该文件最新的内容,这时就需要使用“SVN更新(U)…”这个功能。
- 如果你想下载整个文件夹的最新内容,那么你需要在文件夹的空白处右击,并选择“SVN更新(U)…”
- 如果你只想下载某一个文件或者文件夹的最新内容,那么你只需要右击那个文件或者文件夹,并选择“SVN更新(U)…”
SVN更新的具体步骤如下:
1) 进入到要下载更新的文件夹里(我的是D:\huileketang)
2)在文件夹“D:\huileketang”的空白处右击,如下图,点击“SVN更新(U)…”
3)点击“SVN更新(U)…”即弹出如下的页面:
4、重新定位:
当SVN地址发生改变时,需要重新定位。
方法:在SVN对应的文件夹的空白处右击,选择“TortoiseSVN”—>“重新定位(C)…”
5、显示日志:
查看历史记录,主要是查看文件或文件夹的提交历史,如谁、什么时间、提交了哪些文件或者文件夹。
方法:在SVN对应的文件夹的空白处右击,选择“TortoiseSVN”—>“显示日志(L)”
四,SVN的状态图标的含义
常见的SVN的图标有以下几种,如下图:
1、“常规”:绿色圈带白色对勾,主要是表示自己电脑上的文件或者文件夹与SVN服务器上对应的文件一致,在自己电脑没有进行任何修改。
2、“修改”:红色圈带白色感叹号,当你开始编辑一个文件,这个文件的状态就会变成修改状态,图标也会变成红色圆圈带白色感叹号。通过这种状态的变化,你就可以知道自己修改过哪些文件,需要提交哪些文件。
3、“冲突”:黄色三角形带黑色感叹号,是指出现了冲突,一般在同时编辑一个文件时容易出现这种冲突的现象。
4、“只读”:灰色圈带白色对勾,这是设置只读属性后才会出现的标识,直到你获得文件锁才能取消只读。只读文件用这个重载图标来表示你必须在编辑之前先得到一个锁。
5、“已删除”:红色叉,表示相应文件或文件夹被计划删除,或者表示文件缺失。
6、“增加”:蓝色加号,表示文件或文件夹已经被计划加入到版本控制之下。通常是新建的文件或文件夹会有这个标识。
7、“忽略”:灰色圈带白色横线,表示已经不受版本控制了。
8、“无版本控制”:蓝色圈带白色问号,表示暂时还没有版本的控制,但没有被忽略。
9、“锁定”:一把黄色的锁,表示文件被锁定,必须先释放锁才能让别人的修改提交。