进入:开始--程序--TortoiseSVN--Setting--Icon Set选择Mufwin7。
(一)开始--运行--输入“regedit”进入注册表;
(二)进入目录:HKEY_CLASSES_ROOT/*/shellex/ContextMenuHandlers/TortoiseSVN
(三)右键TortoiseSVN--权限--高级--所有者--将所有者更改为administrator--应用--确定--确定......
(四)重启电脑,搞定!
这篇文章源于6月份给公司新人作的关于SVN使用的培训,转眼已经过了几个月的时间,丢了也怪可惜的,于是整理出来希望能够帮助后来人快速入门。
安装说明
开发人员强烈建议使用IDE中的SVN插件更加智能与人性化。
首先安装SVN客户端,windows一般选择乌龟客户端https://tortoisesvn.net/downloads.html。
根据系统位数选择相应客户端进行安装。
![](https://image.cha138.com/20210607/5e4d174860754daba9d5aaedb7a4bf60.jpg)
如果你喜欢用命令行操作,请务必记得勾选command line client tool
为will be install on local hard driver
,不用命令行的跳过这一步。
![](https://image.cha138.com/20210607/ceb1cf1a2184418d8ddeb08736a51eec.jpg)
然后一路next即可安装。安装完毕后,在任意地方右键查看快捷菜单。发现TortoiseSVN
即表示安装成功。
![](https://image.cha138.com/20210607/3aa43e1f5490433db1cdc29fa10d9028.jpg)
如果勾选了安装命令行工具,那么输入命令SVN,有如下提示也表示安装成功
![](https://image.cha138.com/20210607/af37210fba504183a092cd4530018e29.jpg)
但是此时菜单全是英文的,如果你不习惯英文,可以去下载语言包,记得下对系统位数。
![](https://image.cha138.com/20210607/ffb3cd99debd4bb2a1399c2080fed435.jpg)
安装完语言包之后,可以右键进入setting
设置。
![](https://image.cha138.com/20210607/44634de5f7544bb9b6f83d9466591e07.jpg)
选择你喜欢的语言(比如中文),然后确定,不出意外,现在的语言已经切换到中文了。
![](https://image.cha138.com/20210607/d878fe0e6f624e2093351e362afc28e7.jpg)
安装教程到此结束,下面开始介绍SVN的使用。
使用说明
检出项目
假如项目已经在服务器的仓库里,那么现在你要做的就是把它检出到本地。
首先创建一个空文件夹。在空文件夹内右键,选择SVN检出
![](https://image.cha138.com/20210607/dae621b0e9d143adb7115cc909833582.jpg)
现在你看到应该是这个界面,填入版本库地址,选择确定。
![](https://image.cha138.com/20210607/18711e21058740f88586af90767525fd.jpg)
此时会弹出一个对话框让你输入账号密码,输入你的账号密码即可。记得勾选保存认证,不然每次操作都会让你输入。
![](https://image.cha138.com/20210607/8e7b3dc34f164b06b8f59ae80b2c1b00.jpg)
等几分钟就可以检出完毕。
![](https://image.cha138.com/20210607/31cfad014bc0422ea930327a3f56c77c.jpg)
此时在你的目录下就能看到你的项目,现在可以开始愉快的工作了。
![](https://image.cha138.com/20210607/2c5322cca7c74e83a6f8251a8b0b63ae.jpg)
导入项目
但是有时候你已经在本地建立好了项目,需要把你项目推到SVN上,此时应怎么做呢?
右键选择版本库浏览器
![](https://image.cha138.com/20210607/a273654be0b4444abc2fe5be0d0a3e50.jpg)
在相应目录下,右键,加入文件/加入文件夹,选择相应目录即可。
![](https://image.cha138.com/20210607/65810878ce234f16a07b01f2b40987f1.jpg)
比如我现在有个项目叫SVNProject,我想把它传到SVN上。
![](https://image.cha138.com/20210607/f4cd4332e752455d958c369df32851bb.jpg)
那么我只需选择加入文件夹即可。
![](https://image.cha138.com/20210607/2727f7e66b624a9ba20e3f23f2713a67.jpg)
务必要输入提交信息。这样别人才能知道你干了什么。
![](https://image.cha138.com/20210607/e7534a66c58d43219b515fac2a964940.jpg)
导入成功就能看到目录。
![](https://image.cha138.com/20210607/d0e3ed88d05443d4a6b370e69b1a48c9.jpg)
但是,不要以为导入成功就可以了。你还得重新检出,重新检出的项目才是受SVN控制的,务必记得检出。
![](https://image.cha138.com/20210607/9465af7214da466d9bc0552b5eaadf5b.jpg)
在SVNProject上右键检出到本地,然后在里面进行修改。现在就可以愉快的工作了。
检出过后的右键菜单变成了这样。
![](https://image.cha138.com/20210607/de52bccfbe964171a259394986161210.jpg)
提交
绿色表示当前文件没有被修改过(看不见颜色的重启下电脑就好了)。
![](https://image.cha138.com/20210607/d9ec5ba841c949229a6d1e7ea9e6398d.jpg)
假如我现在在我是新项目.txt
中加了一行字,然后保存。
![](https://image.cha138.com/20210607/f112cfd48fbb4c7080895935d877fbf3.jpg)
发现现在变成了红色,红色表示已修改。
![](https://image.cha138.com/20210607/8408f98af17149299b36bb95976127ac.jpg)
怎么提交修改?
在根目录下,右键选择提交。
![](https://image.cha138.com/20210607/30a1f2c65f9f4971ac28f26b54f857dc.jpg)
务必记得输入提交信息(虽然不输入也能提交),提交信息可以方便日后查看。
![](https://image.cha138.com/20210607/2142d8ee1dc44bc484d403342eb22c10.jpg)
提交完毕后,可以发现又恢复到了绿色。
![](https://image.cha138.com/20210607/70d96585e3744897ab5b2d28dfdbb401.jpg)
假如现在加入了一个新文件。可以看出是蓝色的。蓝色表示不属于版本库的未知文件,未知文件是不能提交的。
![](https://image.cha138.com/20210607/6624f7244d5f4fd4923988d240e644b1.jpg)
记住选择增加把它加入到版本库里面去。
![](https://image.cha138.com/20210607/fbcb4cd7a99e420d9467bdde41d96392.jpg)
增加完毕后,变成了蓝色加号,表示新增加的版本库文件。
![](https://image.cha138.com/20210607/8e54a355aa534fc2a2008ae8ae0f3084.jpg)
接下来,只需写代码,然后提交即可。
删除文件也应该右键提交,如下。
![](https://image.cha138.com/20210607/3b496d7706ed478fb2f0f0b481eace1b.jpg)
记得随时检查你的文件状态,如果没有添加到版本控制里要及时添加进去,不然你的文件提交不上去。
更新
假如你和B同学在协作。B同学写完代码提交到了SVN上,如果你想获取最新修改,就需要选择更新(如果服务器上已经有别人提交过的新的,你是提交不上去的,必须先更新再提交)。
怎么知道服务器有没有更新?你可以直接选择更新,有没有更新一下就知道。或者右键检查修改,然后检查版本库,就能看到服务器上改了哪些文件。
![](https://image.cha138.com/20210607/c728e8aedc234a1ebc1ecd9d73b4fa1d.jpg)
右键选择HEAD和BASE比较。
![](https://image.cha138.com/20210607/cc993bd2a7b04895a24af992b5ae6f74.jpg)
左边的表示你的代码,右边的表示服务器上的代码。
![](https://image.cha138.com/20210607/e04d9291b9f347a8bf89e7f661b73ffc.jpg)
如果有修改记得及时更新到本地然后再继续工作。
但是有时候更新会冲突,比如你和服务器上的改了同一个地方。
这时候你需要更新下来解决冲突。
![](https://image.cha138.com/20210607/8405b829665a44f19601023b2107fd6c.jpg)
它会提示你哪个文件冲突,你只需打开那个文件,按照需求解决冲突即可。
![](https://image.cha138.com/20210607/c60c927d10cb4a1884e1d52db4ad01be.jpg)
<<<<<<.mine到====表示你的代码,其他表示服务器的代码。你只需改成你想要的。
![](https://image.cha138.com/20210607/821f2c2ab29443b7abcf63a4f43c17da.jpg)
然后选择解决,告诉SVN我已经解决冲突了就行了。
![](https://image.cha138.com/20210607/373727ee5b3c4c539fe61a00dbeee06b.jpg)
剩下的就是团队协作间的更新提交操作,这里不做赘述。
查看日志
选择显示日志,可以看出团队里面的人干了什么。
![](https://image.cha138.com/20210607/d914834a946945a796a72e16ebec8753.jpg)
可以看出谁谁谁,什么时间,干了什么事。最后那一列信息是自己提交的时候写的。建议大家提交时务必要填写提交信息,这样别人一看就知道你干了什么。提交信息对于自己也是有好处的,时间长了也能看到当初做了什么。
![](https://image.cha138.com/20210607/aa17aae184b44ad2a76b0f8ac69f5a20.jpg)
版本回滚
如果你改了东西,但是还没有提交,可以使用还原功能。
![](https://image.cha138.com/20210607/8211cf67041d40188701854cee129a7b.jpg)
但是如果我们写错了东西并且提交了上去怎么办?通过版本回滚可以将文件恢复到
以前的版本。右键更新至版本,通过查看日志来选择版本,然后回滚即可
![](https://image.cha138.com/20210607/de6665d3e5d94a94901525eeb5e4969f.jpg)
有时候我们需要查看以前版本的代码。此时我们可以新建个文件夹检出到指定版本。
![](https://image.cha138.com/20210607/1861113a7bcf46f78942de33bf4f532b.jpg)
版本控制
版本控制有好几种方法,如下。
-
在提交发布版本时添加版本信息,这是最简单的一种方法。
![](https://image.cha138.com/20210607/c19703b7b74c4a8888350bb79de9a561.jpg)
![](https://image.cha138.com/20210607/0101ca8c91d4412d9ded502ee12e8b3e.jpg)
这样你就有了一个v1.0版本的标签。
以后如果你想查看某个版本的代码,只需切换过去就行
![](https://image.cha138.com/20210607/bce8cecf4852483e82ab5e7a7069a254.jpg)
总结
我们在日常使用中,最常用的是更新和提交操作。这两个步骤务必要非常熟练。其他的可以在遇到问题是查看文档。此外,需要注意的是,所有版本控制工具只能跟踪文本文件(能用记事本打开查看的文件),不要妄想SVN能记录你word改了哪一行。一旦遇到word冲突,记住仔细对比两个版本,然后解决冲突。