1、SVN原理与简单使用,1、什么是SVN,1)有一个简单但不十分精确比喻: SVN = 版本控制 + 备份服务器2)你可以把SVN当成你的备份服务器,更好的是,他可以帮你记住每次上传到这个服务器的档案内容。并且自动的赋予每次的变更一个版本。,SVN管理者,add to Repository,Chect Out,文件版本X,程序员A,Commit change,文件版本X,程序员B,文件版本X+1,文件版本X+2,文件版本X+1,文件版本X,Update to latest Revision,Commit change,文件版本X+2,文件版本X+1,2、为甚么要用SVN?,1) 备份工作档案是十
2、分重要的。你永远不知道计算机上的硬盘何时会坏掉。2)版本控管非常重要。你无法保证手头上最新版本永远都是对的。3)团队之间的数据同步也是非常重要的。很多时候,除了你个人外,还有其它的团队成员也需要你的数据。总结:安全,效率,资源共享,3、建立SVN Repository,4、SVN基本操作,1)取出版本库到一个工作拷贝:通过“Add Respository”建立一个repository ,在“URL of repository”中输入SVN服务器地址,“Respository path”中输入内容在服务器上的目录路径,通过“check out”将内容保存到本地,这样我们就得到了一份内容的工作拷贝
3、。,2)提交(commit)在工作拷贝中作出修改并提交:在 工作拷贝中随便打开一个文件,作出修改,然后“右键- SVN Commit. ”。这样我们就把修改提交到了版本库,版本库根据情况存储我们提交的数据。3)在修改过的文件上通过“Show Log” ,可以看到对这个文件所有的提交。在不同的revision 条目上“右键- Compare with working copy”,我们可以比较工作拷贝的文件和所选revision 版本的区别。,4)更新版本(Update to Latest Revision )在文件或者文件夹右键Update to Latest Revision ,将该文件夹中所
4、有文件或者该文件更新至最新版本。本地内容与服务器内容自动Merge有可能造成代码冲突。,5、SVN权限配置,1)在Subversion 的使用当中,存在“认证”、“授权”两个概念。认证,即authentication,是指用户名与密码的认证。授权,即authorization ,是指某用户对某个目录是否具备读、写权限的一种审核。这两者配合作用,就组成了Subversion 的整个帐户管理体系。,2)Subversion 提供了面向目录的帐户权限管理功能,通过它,我们就可以很精确地实现项目目录的访问控制。,6、IOS下的SVN的使用,1)Xcode中的project.pbxproj文件定义工程的
5、文件目录,在提交工程的时候务必将该文件一并提交2)提交代码前必须保证本地的工程可以编译成功3)服务器与本地文件版本号不一致时,需要先update,update之前最还进行代码备份,4)在工程中增加文件夹,提交时,svn上需要先将该文件夹add to workplace,7、解决svn冲突的办法,1)其实避免的冲突最好的办法就是: 项目人在配合工作的时候,彼此之间很好的交流2)当出现冲突的时候,svn会生成三个临时文件 filename.mine 存储者本地的修改过的文件。filename.rOLDREV 存储者上次update的基础版本文件filename.rNEWREV 存储着客户端刚从服务器上接收来的版本,3)当遇到冲突的时候有3种方法解决冲突手动合并代码,解决冲突。选择一个冲突出现时产生的临时文件来覆盖当前文件。运行svn resolved filename 命令来放弃当前文件的本地的所有修改。,.r2ab修改为 =cd ef hi,4)一旦你解决了文件的冲突,另一件要做的事情是告诉svn你已经解决了冲突,svn会去删除3个临时文件,谢谢!,