一、SVN版本
Windows下SVN有好几个版本,如下图,最好使用VisualSVN服务端和TortoiseSVN客户端搭配使用,下载地址:http://subversion.apache.org/packages.html。
二、服务端VisualSVN
1、安装VisualSVN-Server(最好以管理员身份安装)
2、启动VisualSVN Server Manager(最好以管理员身份运行)
3、新建Repository版本仓库:右击Repositories->新建->Repository
4、新建用户:右击Users->新建->User->输入用户名和密码
5、新建组:右击Groups->新建->Group->输入组名,点击Add向组添加用户
6、为用户设置权限:右击新建的版本库->Properties->点击Add后向这个版本库增加用户和设置用户权限
7、使用客户端来向服务端导入(Import)新的项目
三、客户端TortoiseSVN
1、安装TortoiseSVN和简体中文语言包(最好以管理员身份安装)
2、向服务端导入项目:客户端电脑中右击想要上传的目录->SVN->Import导入->输入版本库路径(服务器中右击版本库名称选择Copy URL to Clipboard可获得)->输入用户名和密码。(如果上传失败可以把服务端主机名换成IP地址试试或检查防火墙)
3、从服务器检出项目:向服务端导入项目后还需要从服务器checkout检出这个项目,右键->SVN checkout(检出)。
4、其它用户首次使用的话也需要先检出指定的项目。
5、当修改了代码后可以进行commit提交,右键目录中空白->提交->弹出的对话框会自动选择所有改动了的文件,我们可以再进行筛选。如果其它用户在你之前提交了相同文件的代码的话此时提交会失败,因为你必须先update更新代码,更新完代码后再进行提交。
6、更新代码后可能会提示conflict,这表明自己的代码与服务器上代码产生冲突,在冲突文件中<<<<<<< .mine和=======中间的为自己的代码,=======和>>>>>>>中间的为别人的代码部分,解决方法有两种:第一种方法是右键选中冲突文件->Edit conflicts编辑冲突->红色的部分是冲突代码,theirs表示当前服务器端最新的代码,Mine表示自己修改后的代码,Merged表示合并后的代码,右键点击红色代码选择我们要怎样处理冲突:使用服务器上的冲突代码,使用我们的冲突代码,将我们的冲突代码插入到服务器冲突代码前面或后面。第二种方法是右键选中冲突文件->Revert还原,这表示这舍弃自己的代码,直接使用服务器上代码。解决完冲突后我们再进行提交。
7、添加文件:有两种方法,一个方法是右击选择Add增加,这样先提到变更列表中,在commit提交的时候选择添加的文件进行提交
8、删除文件:与添加文件类似,右击文件->SVN->delete删除,在commit提交的时候选择删除的文件进行提交
9、重命名文件:与删除文件类似。
10、还原文件:右击文件->SVN->Update to reversion更新至版本->输入版本号。如果想要还原全部文件的话,右击空白->SVN->show log->选择指定版本右键->revert to this version还原到此版本
11、在输入用户名、密码时候有一个Save authentication(保存认证)选项,默认是自动勾选的,当下次导入的时候会自动使用上次的用户而不用再输入用户名和密码。如果需要切换用户的话:点击Setting(设置)->Saved Data(已保存数据)->Authentication data(认证数据)->Clear(清除)
四、主干trunk与分支branches
1、在我们开发完成一个项目并上线后,如果此时在原项目上又有新的需求,那么我们在开发新需求之前可以生成项目的一个分支(可以说是项目的一个备份),然后我们可以继续在项目上(我们成为主干)开发新的需求,而如果原来的项目中途发现有BUG或需要修改一些功能的话就可以在分支上进行开发修改,两边都不会影响谁。还可以合并主线和分支代码,最后在分支不需要的时候可以删除它。
2、在SVN服务端我们的仓库中新建工程目录的时候我们可以选择project structrue类型,这个时候项目目录总会自动生成三个目录:trunk、branches和tags,我们一般将工程主线放到trunk主线中,将分支放到branches中,tags目录一般是只读的,可以存储阶段性的发布版本,作为一个里程碑的版本进行存档。
3、创建分支:右击本地trunk目录->SVN->branch/Tag分支/标记,在To path中我们选择将分支保存在服务端的branches目录的一个新目录branch_1,即/project_name/branches/branch_1在服务器端上创建好分支后,我们进入本地branches目录,右键选择checkout或update在本地获得分支。
4、合并分支上文件到主干:右键本地trunk目录->Merge合并->选择第二个Merge two different trees->From输入主干的Url,To输入分支的Url->确认。
5、合并主干上文件到分支:右键本地分支目录->Merge合并->选择第二个Merge two different trees->From输入分支的Url,To输入主干的Url->确认。
6、在合并主干分支之前建议先提交项目进行备份。
引用和参考出处:http://www.cnblogs.com/armyfai/p/3985660.html