window下SVN使用教程

平常很多人都在使用各种版本管理工具,比如SVN,GIT(它们对应的图形化界面TortoiseSVN,TortoiseGit)等等。用的最多的就是提交代码,更新代码,拉取代码,显示日志等功能。但是还有些实用的功能比如查看版本回退,查看某个具体代码是哪个版本合入的亦或者是把某个文件加入忽略名单,冲突解决等功能可能掌握的还不是很好,本教程就是基于SVN的图形化工具TortoiseGit对svn的常用功能进行一个总结。

功能列表:

  1. 建立仓库(Visual SVN)

  2. 提交代码

  3. 更新代码

  4. 回滚代码

  5. 显示/修改日志

  6. 拉取分支

  7. 解决冲突

  8. 设置beyondcompare作为比较工具

  9. blame

  10. svn ignore

  11. 显示日志格式

建立仓库

首先安装svn服务端程序Visual SVN和svn客户端TortoiseSVN
VisualSVN Server的下载:http://www.visualsvn.com/server/download/
TortoiseSVN 的 下载:http://tortoisesvn.net/downloads.html

0.1
安装Visual SVN

首先下载VisualSVN Server

【1 】打开后一路下一步,有协议点同意

0.2

【2】 选择 visualVSN服务器和管理控制台 或只有管理控制权限

0.3

选个标准版

0.4

【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


0.5

选中NetWork输入IP即可


0.6

添加一个代码库【Repository】,左侧Respositories上右键菜单中选择创建一个代码库,如下图:

0.7

添加一个代码库【Repository】,左侧Respositories上右键菜单中选择创建一个代码库,如下图:

之后会提示选择仓库类型:


0.8

FSFS:根据标准的FSFS数据存储创建一个常规的Subversion存储库。

VDFS:基于VisualSVN分布式文件系统创建分布式Subversion存储库。VDFS存储库充当标准的Subversion存储库,允许在地理分布的站点之间复制数据。

选择FSFS,输入仓库名字


0.9

选Empty,只创建空的代码库FirstRep;

选Single,则在代码库FirstRep下面会创建trunk、branches、tags三个子目录。

我们选Single

image

选择仓库的使用权限,选择所All Subversion.. 或者Customize permissions来配置不同用户的用户名和密码以及权限。


image

点击create之后带你finish,创建成功
最后你在浏览器中输入刚才配置的仓库地址就能访问了


image

安装TortoiseSVN

上传到SVN服务器首先要下载TortoiseSVN

下载后安装,一路next,然后finish。

提交代码

更新代码

上面2个比较常用,基本都会,就不做介绍了。

回滚代码

右键项目,点击show log(图1.1), 选中一条日志,然后点击 Revert to this Revision就可以回退代码,然后想覆盖远程仓库的代码再提交下既可以了。

图1.1
图1.2

显示/修改日志

只有企业版才有这个功能,


图1.3

解决冲突

一般我是这样解决的(简单粗暴),比如更新的时候发现冲突,checkout一份最新的代码,再把需要的代码比较进去再提交就可以了。

设置beyondcompare作为比较工具

按照图中红框部分设置beyondcompare的安装程序路径为比较工具即可


图1.4

图1.5

blame

blame 中文意思就是追溯,可以用来查看某行代码修改的日志信息,查出修改人和其他信息。


图1.6

点击上图1.7中OK,然后在弹出的新窗口中将鼠标移至左上角即可查看log信息。


图1.7
图1.8

svn ignore

有时候有些文件在项目中是必要的但是可以生成而不一定要上传到库里的,这个时候我们可以要用到ignore 功能。
选择一个文件或文件夹,右键添加到忽略名单即可(图1.8)。其中,recursively是递归的意思,想将子目录都添加到忽略名单可以选上。


图1.8

在仓库地址下的/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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,928评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,192评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,468评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,186评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,295评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,374评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,403评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,186评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,610评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,906评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,075评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,755评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,393评论 3 320
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,079评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,313评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,934评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,963评论 2 351

推荐阅读更多精彩内容

  • 3个问题 安装优化软件环境nginx,lvs <== 运维工程师 程序代码(不断更新)<==开发工程师,开发+运维...
    木心若素阅读 7,911评论 1 7
  • 本片内容是转载过来的 作者:前程明亮 出处:http://www.cnblogs.com/0zcl Version...
    欧尔麦特fffff阅读 780评论 0 0
  • 为什么要使用SVN? 在程序的编写过程中,每个程序员都会负责开发一个或多个模块,且开发中会生成很多不同的版本, 这...
    shadow雨轩阅读 1,423评论 0 2
  • 删除用户的语句是: drop user username cascade;
    夜月星空wcj阅读 153评论 0 1
  • 《欢喜》是最近我读的书中最容易跳戏的一本。跳脱原著的原因有那么几个~ 1. 总有一个初设 - 17岁的作者 这本《...
    晓声默阅读 386评论 0 0