平常很多人都在使用各种版本管理工具,比如SVN,GIT(它们对应的图形化界面TortoiseSVN,TortoiseGit)等等。用的最多的就是提交代码,更新代码,拉取代码,显示日志等功能。但是还有些实用的功能比如查看版本回退,查看某个具体代码是哪个版本合入的亦或者是把某个文件加入忽略名单,冲突解决等功能可能掌握的还不是很好,本教程就是基于SVN的图形化工具TortoiseGit对svn的常用功能进行一个总结。
功能列表:
建立仓库(Visual SVN)
提交代码
更新代码
回滚代码
显示/修改日志
拉取分支
解决冲突
设置beyondcompare作为比较工具
blame
svn ignore
显示日志格式
建立仓库
首先安装svn服务端程序Visual SVN和svn客户端TortoiseSVN
VisualSVN Server的下载:http://www.visualsvn.com/server/download/
TortoiseSVN 的 下载:http://tortoisesvn.net/downloads.html
安装Visual SVN
首先下载VisualSVN Server
【1 】打开后一路下一步,有协议点同意
【2】 选择 visualVSN服务器和管理控制台 或只有管理控制权限
选个标准版
【3】选择程序安装的路径、Subversion Repository(库)的路径和所使用的协议和端口以及备份路径
Location是指VisualSVN Server的安装目录,
Repositorys是指定你的版本库目录,
Server Port指定一个端口,
Use secure connection勾上表示使用安全连接。
继续【Next】到【Finish】。
选择HTTP或HTTPS两种协议,
HTTPS的端口号默认可以选择443和8443
HTTP默认可以选择80、8080和81
在1.4版本后,Subversion加入了Service运行的功能。端口号可以任意定义。
还有就是下面的用于验证的身份,一个是windows验证,一个是Subversion身份验证,这里默认是Subversion身份验证。
【4】接着就是安装过程
【5】安装完成后会询问你是否需要运行VisualSVN Server Manager
【6 】点finish,打开“ VisualSVN Server Manager ”,如下:
右侧状态区包括:
Status:服务运行状态
SubversionAuthentication:账户信息
Respositories:代码库信息
配置SVN
1.创建远程仓库
修改URL:
如电脑IP是:192.168.100.100
右键 VisualSVN Server选择Properties
选中NetWork输入IP即可
添加一个代码库【Repository】,左侧Respositories上右键菜单中选择创建一个代码库,如下图:
添加一个代码库【Repository】,左侧Respositories上右键菜单中选择创建一个代码库,如下图:
之后会提示选择仓库类型:
FSFS:根据标准的FSFS数据存储创建一个常规的Subversion存储库。
VDFS:基于VisualSVN分布式文件系统创建分布式Subversion存储库。VDFS存储库充当标准的Subversion存储库,允许在地理分布的站点之间复制数据。
选择FSFS,输入仓库名字
选Empty,只创建空的代码库FirstRep;
选Single,则在代码库FirstRep下面会创建trunk、branches、tags三个子目录。
我们选Single
选择仓库的使用权限,选择所All Subversion.. 或者Customize permissions来配置不同用户的用户名和密码以及权限。
点击create之后带你finish,创建成功
最后你在浏览器中输入刚才配置的仓库地址就能访问了
安装TortoiseSVN
上传到SVN服务器首先要下载TortoiseSVN
下载后安装,一路next,然后finish。
提交代码
更新代码
上面2个比较常用,基本都会,就不做介绍了。
回滚代码
右键项目,点击show log(图1.1), 选中一条日志,然后点击 Revert to this Revision就可以回退代码,然后想覆盖远程仓库的代码再提交下既可以了。
显示/修改日志
只有企业版才有这个功能,
解决冲突
一般我是这样解决的(简单粗暴),比如更新的时候发现冲突,checkout一份最新的代码,再把需要的代码比较进去再提交就可以了。
设置beyondcompare作为比较工具
按照图中红框部分设置beyondcompare的安装程序路径为比较工具即可
blame
blame 中文意思就是追溯,可以用来查看某行代码修改的日志信息,查出修改人和其他信息。
点击上图1.7中OK,然后在弹出的新窗口中将鼠标移至左上角即可查看log信息。
svn ignore
有时候有些文件在项目中是必要的但是可以生成而不一定要上传到库里的,这个时候我们可以要用到ignore 功能。
选择一个文件或文件夹,右键添加到忽略名单即可(图1.8)。其中,recursively是递归的意思,想将子目录都添加到忽略名单可以选上。
在仓库地址下的/hook目录下新建pre-commit.bat文件,重启服务就可以配置日志提交格式:
pre-commit.bat内容举例:
@echo off
setlocal
set REPOS=%1
set TXN=%2
rem check that logmessage contains at least 10 characters
"D:\WEB_DEVELOPMENT\tool\svnserver\install\bin/svnlook" log "%REPOS%" -t "%TXN%" | findstr ".........." > nul
if %errorlevel% gtr 0 goto err
exit 0
:err
echo Ìá½»±ØÐëд10¸ö×ÖÒÔÉϵÄÈÕÖ¾!>&2
exit 1
记得先用txt文件编写然后另存为ANSI格式,不然输出信息会乱码。
参考文献
https://blog.csdn.net/jinmie0193/article/details/81583264#%E4%B8%80%20%E3%80%81%E5%AE%89%E8%A3%85Visual%20SVN