SVN知识点总结

1.忽略DLL和Bin文件

一般来说,编译之后的结果文件都会放在bin目录下。用svn做代码管理服务器的时候,肯定不希望编译的结果文件也签入进去,因此需要在客户端配置。 在checkout目录下,在svn的子菜单中 Properties,在出现的窗口中点”new“菜单,选择”Other“,在弹出窗口中,Property Name选择”svn:ignore",在输入框中输入要忽略的名字,如果是bin目录,就输入bin,如果是dll文件,就输入"*.dll"等。保存。 正常情况下,这样就生效了,但是,如果你已经把bin目录checkin到服务器上才开始配置忽略文件类型,这个时候还需要在服务器上把对应的文件和目录删除掉才行(一般设置以下几项

*.dll
bin
obj
*.suo
*.user

2.导出和检出的区别

SVN中检出(check out) 和 导出(export) 的区别主要有如下几条:

检出后 导出后        

结论:对比一下检出/导出文件的内容以及图标不难看出

  • check out:检出的项目仍然被SVN进行管理,和版本库仍然关联;文件仍处于SVN版本控制中,与版本库保持关联,比如你可以进行Svn Update或者Svn Commit操作。同时导出文件夹下有一个.svn的隐藏文件夹,存储着一些版本的元数据信息。
  • export:简单导出一个版本的数据,相当于一些普普通通的文件,不再和版本库、SVN有任何关系(如果不想使用SVN,改用其他版本控件工具可以用此方法导出),修改后无进行Update和Commit操作,导出文件夹下没有.svn目录。
  • check out跟check in对应,export跟import对应。

3.svn使用顺序

  • 服务端安装SVN SERVER,设置仓库,并复制项目的地址
  • 在本地新建空的文件夹
  • 文件夹上右键“检出“,粘贴第一步的地址,这样虽然双方是空的文件夹,保质了服务器与本地工作副本文件夹的同步
  • 文件夹上右键,“属性,新建,其他”,设置需要忽略的文件(DLL.BIN等)
  • 将服务器工程,导入至服务器(右键导入),或者“更新”为最新版本
  • 不要随意更改解决方案名称,否则不能正常提交
  • 如果项目想要脱离SVN要使用SVN右键提供的“导出”功能来导出一份新的、脱离SVN管理的项目代码

4.svn下,通过TortoiseSvn修改文件夹名、文件名

  对于已经受svn源代码管理的文件或者文件夹,若想修改名字,可以这样操作:

  • 选中文件或者文件夹》右键》TortoiseSVN》改名。
  • SVN 提交。
  注:直接修改文件名是不可以的。因为在本地修改了文件名后,提交时,服务器是不知道你修改了哪个文件,只知道你提交了一个新的文件名。
 

5.SVN 中创建Trunk、Branches、Tags 过程

  分支的使用、切换请参考:https://www.cnblogs.com/wntd/p/5881794.html

  SVN 中创建Trunk、Branches、Tags 过程-参考文章:https://blog.csdn.net/u012693530/article/details/79618324

  SVN中trunk、branches、tags用法详解-参考文章https://www.cnblogs.com/chengx/p/5893175.html

  • 第一步检出代码服务器的目录结构(checkout)

    

  • 但是如果按照以上方式检出【将3个文件夹全部检出】,会出现一个问题

  • VS中打开项目后发现subversion branch url路径为https://192.168.1.117/svn/DeCui-Trace,随后VS的分支切换中会出现一个问题(提示共同的祖先)

  

  所以我们在检出的时候最后是单独创建一个trunk的文件夹,单独检出https://192.168.1.117/svn/DeCui-Trace/trunk这个分支,具体参考文章:https://www.cnblogs.com/wntd/p/5881794.html)

  这样在检出后就没有这个问题的存在了,subversion branch url的路径为https://192.168.1.117/svn/DeCui-Trace/trunk

  

  分支切换也是没有问题的

  

  • 第二步开始开发阶段:在项目中增加源代码文件(选择相应目录),并提交到服务器(选择相应的目录)

          

6.将trunk作为开发分支(主干分支)进行开发。并阶段性的从trunk复制一份至TAG分支,打标记

  当一个阶段开发任务完成时,我们可以从trunk复制出一份到tag这个分支中,作为一个版本标记(此标记的版本不应该再进行修改,只作为备份使用)

7.从TAG复制一份到branches分支

  在目前线上版本基础上,需要进行一个项目小的改动,或者生产环境有BUG

 

 

8.合并、提交、版本冲突解决

  参考资源:https://www.cnblogs.com/aaronLinux/p/5521844.html

原文地址:https://www.cnblogs.com/gougou1981/p/12101935.html