第 41 章 微博系统--SVN 版本控制[下]
一.SVN 自动启动 如果不手工将 SVN 在 DOS 命令行启动的话,那么在你对数据版本进行提交或更新时, 将会被拒绝。所以,我们每次在重启版本服务器时,都需要手工的启动一下 SVN 服务器。 这样将会变的尤其的麻烦。 我们可以通过将 SVN 添加到 Window 自启动,让 SVN 随着服务器一起启动,这样就减 少了每次手工的麻烦。
//将 SVN 添加到 Window 服务里,设置自启动 sc create svnserve binpath= "D:\Program Files (x86)\Subversion\bin\svnserve.exe --service --root D:\object\svn"
//将 SVN 服务删除掉 sc delete svnserve
二.版本冲突
在团队开发中,很可能出现多人同时修改一个文件的情况。比如你修改了某个文件,恰好别人也修改过这个文件,并且已经提交到了版本库,这时,你再更新就会出现版本冲突。
操作方法:同时修改两个文件内容,并且一个提交后,另一个再提交,发现冲突了。
冲突后,可以检测冲突问题所在,index.php 会出现三角感叹号。并且可以生成另外三个文件:
1.index.php.mine(自己的源文件);
2.index.php.rx(x 版本的源文件);
3.index.php.ry(y 版本的源文件)。
冲突后有几个操作:
1.可以手工删除,决定怎样再决定怎样处理;
2.TortoiseSVN->Resolved,删除检测文件,只留源文件;
三.版本对比
当我们更新一个版本之后,想和上一个版本比较一下,修改了那些,可以使用: 右击文件:TortoiseSVN->Diff width previous version,这样可以把代码不同的 地方通过不同的颜色标注出来。 四.锁定和解锁 在工作中,如果有些文件不希望其他程序员修改,或者你正在修改一个不能合并的文件。 我们可以对这个文件进行加锁操作,加锁后,其他程序员就无法提交。当加锁文件被锁定者 解锁后,才可以继续提交。 右击文件:TortoiseSVN->Get lock,即可锁定; 右击文件:TortoiseSVN->Release lock,即可解锁;