1、如果已经有人lock了一个文件,但另外一个人需要编辑此文件,有两个选择,一个是由管理员来解除锁定,另外一个是在get lock选项中有个steal the locks,选择后,即可以编辑该文件
2、SVN的版本概念是针对目录而非文件,即使只更新了一个文件,那么,整体的版本也需要加1
3、推荐使用目录树为
/repos/trunk 用来保存主线,所有的code都存放在这个目录中
/repos/branches 用来保存目录分支,OEM、新功能、设计方案调整,都有可能需要创建分支目录
/repos/tags 用来保存标签拷贝,文档宝的阶段性成果可以打个标签存放到此目录下
4、SVN的上传和更新是异步的,可以分开操作,而不用担心在update的同时把自己不成熟的代码commit从而影响别人的工作。
5、.svn这个目录是用来管理目录与服务器的同步情况和来管理工作copy的,如果不小心删除了,可以把该目录整个删掉,然后返回父目录,并使用update,则会从服务器上重新下载该目录并包含新的.svn
6、SVN常用操作
a、保持客户端和服务器端的一致,从服务器上更新文件,update
b、对客户端文件的增、删、改、剪切,add,delete,copy,move
c、状态比较 status,diff
d、取消对服务器上文件的修改,revert
e、合并别人的修改(后更新的人需要做这个操作)update,resolved
f、客户端修改的文件更新到服务器上,commit
7、查询版本,不单单可以通过版本号查询,也可以通过关键字和版本的日期来查询 注意:如果给定时间的话,查询时需要在希望的日期上加一,如要查询2008-09-02的版本,应该使用2008-09-03,因为你只给了日期而没有给指定的时间点。
8、锁定-修改-解锁方案,拷贝-修改-合并方案使用的一般原则
如果是图像文件,一般使用锁定-修改-解锁方案,因为两个不同的版本没法合并
如果是文本文件,一般使用拷贝-修改-合并方案
9、锁定文件可以所单个,也可以锁多个,可以选择一个文件夹,然后在列表中勾选。并
且,这个锁定是随时都可以解除的,选择unlock即可。
注意:
如果一旦提交了更新,那么所有的文件都将解锁,即使有部分文件可能还没有更新。
但是如果你在commit的时候,选择keep locks,则文件还是被锁定。
10、对客户端的目录或文件可以设置属性,可以从下拉列表中选择
如svn:needs-lock,就是对指定的对象设置只读权限,只有当该对象拥有锁定的权
限后,才能对文件进行编辑,这样可以确定只有一个用户在操作该文件,避免像图像这
样的文件只能线形操作而导致另外一个人工作的浪费。
额外建议:
1、建个专门的服务器,或在现有的目录上建立个专门的目录,用来给公司成员验证SVN的不熟悉的功能和操作步骤,热热身,熟悉了使用方法后再在实际的目录上操作。毕竟,如果一旦出现了问题,需要维护的,还是你自己。
2、抽时间寻找一些SVN的比较工具,管理工具等使用的外置工具来辅助日常工作。