1. 作用:SVN是比较好的版本管理器,有效解决多人多版本的文档和代码管理,能解决冲突和管理分支;

  2. 架构:CS,BS都支持。

  3. 安装包:一个服务器端安装包,一个客户端安装包,一个简体中文语言包;

  4. 部署:先安装服务器程序,再安装客户端,再安装语言包(程序--tortoise--settings--把英文改为简体中文),验证安装成功否:本地桌面右键有SVN checkout 和tortoise SVN 两个菜单;

  5. 流程:启动服务端的服务,端口号不能被占用,服务端新建项目、用户和组,赋予权限,本地使用SVNbrowser去操作。

    可能常见问题归因排查:

    服务是否启动,端口号是否被占用,是否有此项目,是否创建此用户,是否组内有此用户,是否分配权限,是否权限合理,

  6. 简单使用:

    创建一个实例:

     先创建库将本地的文件夹import进SVN,也可以直接导入已存在库import existing reportory;

    再创建user和group,

    再分配权限properties(只能选定文件夹对用户或用户组设置权限,不能选定用户对不同文件

    设置不同权限);

  平时使用:

  checkout:因原始版本上载SVN后不能实时更新,所以一般都会checkout到本地实时版本;

  commit:修改后commit提交SVN;

  update:多人共用SVN,保持与别人的一直,要经常update更新为最新的版本;

  export:下载到本地,与checkout不同的是,不与SVN关联,不能实时更新;

  add:本地新建文档后,需要加入SVN,然后commit就提交到SVN了;

  重命名:直接本地改文档名,然后add--commit,重命名成功;

  delete:本地删除文档后在文件夹空白处,右键commit;

  锁定:锁定和锁不是一个意思。一种是get lock(获得锁),解锁定方法右键解除锁定,或者在版本浏览器里面看是谁锁住了并右键破除锁定;

  lock:为保证自己修改某文档时,没有人同步修改导致冲突,可以用锁将文档锁住其他人就不能用了,方法:右键--属性-新建--needs lock需要锁--锁定允许只读,

    特点:锁是一次性行为,锁只对特点副本,锁团队中其他成员可以解锁;

    (1)简单锁文档:文档右键tortoiseSVN--getlock,此时其他人可编辑此文档但不能commit,文档没有带锁的图标,除非release lock;

    (2)要想别人一眼就知道此文档上锁,文档右键tortoiseSVN--properties--new按钮--needs lock,这样文档带锁标志;

   解锁:方法是右键--属性--新建--needs lock--不需要锁。先锁定再needs lock,直接needs lock还是能被其他人修改提交成功。

  conflicts:若commit时发现冲突,三种解决方案,(1)手动修改 edit conflicts,进入对比界面,左边是SVN最新版本,右边是自己的修改版本,选中文档或代码选择用别人的还是自己的(2)将自己的修改覆盖别人的修改,resolve--commit。(3)放弃自己修改使用别人修改,revert--update;

  分支:一条用来写新功能,一条用来改bug;还可以用其他分支策略;

 6.复习:后面制作操作视频,供分享和自己复习使用;

问题集锦:

  1. 若本地需要在几个用户身份之间切换,那么就不要保存认证,方法:右键--settings设置--已保存数据--认证数据--全部清除;

  2. 版本浏览器看到的锁定是右键--获得锁,文档未置灰,此时若其他用户提交修改则会冲突,需要与锁主任沟通后解除锁;

  3. 有时候版本浏览器没看到哪个文档被锁,但有可能某文档已经needs lock且文档没有变灰,这时