以CornerStone为例:SVN = 版本控制 + 备份服务器
1>客户端通过Check Out将服务器器代码完整下载到本地(只需要做⼀一次)
2>通过Commit将本地修改的内容,提交到服务器(每天下班前,Commit 一次可运行版本)
3>通过Update 或 Command + U 将服务器最新的代码下载到本地
4>如果有本地文件提交,需要先 Add to Working Copy 再 Commit .
5>SVN 连接配置
选择第四个SVN Server
输入用户名和密码,点击添加就Succeed 就可以了。
5>import :上传本地Respository 的项目工程到服务器
6>Resolve Conflicts :解决冲突 查找<<<,解决冲突
添加完新的文件后,你会发现在修改文件的旁边多了一个M.
M:Modify U:Update A:Add C:Conflict
7.NewFolder给本地创建一个新的文件夹 ,方便整理
8.Revert就是回滚,回滚到-revert toLast update是回到上一个版本
9.Merge就是分支合并本地项目,假设你本地有两个工程如图:
SVN 常用命令使用:
SVN建立服务器:
/* 1.首先在任意地方建立一个文件夹 ,如在桌面上建立一个名字为svn的文件夹 2.创建svn repository svnadmin create /Users/pengfeishi/Desktop/svn/res 3./Users/pengfeishi/Desktop/svn/res/conf目录下存在3个文件:authz,passwd,svnserve.conf (1)、配置svnserve.conf 将里面的 #anon-access = read #auth-access = write #password-db = passwd //指向passwd这个配置文件 #authz-db = authz //指向authz这个配置文件 四行前的#号去掉,再将anon-access = read改为anon-access = none,这样禁止匿名访问 PS:这里要注意的,在#号后是有空格的,得去掉这个空格,上文字顶格,不然也有错误 (2)、配置passwd 里面存的是用户与密码,有示例,直接按照它的格式添加用户和密码就可以了 test1=123 test2=456 (3)编辑认证文件 authz 格式为 [groups] 用户组名 = 用户组成员 [需要授权的目录] @组名 = 权限 用户名 = 权限 例如: [groups] g_developers = jcccn,jesse,bill //权限组 = 用户 g_tester = jerry,wang //权限组 = 用户 [/] @g_developer = r 组的权限 jcccn = rw 用户权限 * = [/jcccn] @g_tester = raw jcccn = rw * = r 例子 2 [groups] harry_and_sally = shi [/] @harry_and_sally = rw * = r 4 启动SVN服务 svnserve -d -r /Users/pengfeishi/Desktop/svn 特别注意,路径一定是SVN的目录,不是其中一个版本库的目录,不然,能正常启动,就是访问有问题 没有任何输出,则启动成功 5.关闭 killall -9 svnserve 6.连接 svn://127.0.0.1/res */
//其他
SVN规范
1.所有版本升级,必须在SVN上打TAG,版本号也要更新
2.不允许将编译后的内容提交上去。请 lgnore它。
3.也不允许将个人的开发环境配置文件提交到SVN服务器。请 lgnore它
4.如果有依赖项,请将依赖项也添加到SVN服务器
5.如果是使用 MAVEN的JAVA项目,只需要上传src目录和pom.xml文件,其他相关依赖请添加到 MAVEN库服务器,如果实在需要时,请遵循第3条。
6.尽早提交,尽快提交,经常提交!记住:没有进入版本库之前,你的工作就还没有完成,每天请检查你的代码是否己经提交!
7.在提交之前请检查你的修改,并且在提交的注释中说清楚修改了什么,坚决不允许写无意义的注释!!譬如以下注释,一旦发现,请大家吃饭
修复了一个bug
有一个拼写错误
更新1024
这就是一坨屎
提交了
8.要求在源码中加入数据库版本控制
【每天下班前:Commit “可运行版本”;每天上班前:update前一天所有代码】