检出(Checkout):
从版本库取出一个新版本。
提交(Commit):
将对工作副本的修改发送给版本库。
更新(Update):
下载最新版本库文件的记录。
锁定-修改-解锁:
1. 一定时间段版本库的一个文件只允许一个人修改,直至解锁。
2. 锁定(Get lock),解锁(Release lock)
还原(Revert):
取消最近一次的操作(只针对客户端,服务端不做改动)。
更新到特定版本(Update to revision):
本地文件副本,更新为服务器上的指定版本。
重命名(Rename):
对已经纳入svn管理的文件进行重命名。
添加(Add):
把文件添加到SVN,即将文件纳入SVN管理。
删除(Delete):
对已近纳入SVN管理的文件进行删除。
清理(Clean up):
SVN更新时,由于一些操作中断更新(磁盘空间不够等),可能会造成本地文件被锁定的情况,
解决方法:
1. 使用clean up来清除锁定。
2. 若不是本目录,往上层目录寻找直至根目录。
3. 有时,根目录都无法clean up,则另选目录重新Check out。
4. 如果觉得第3种很麻烦,可以考虑这样的方法。
其实SVN加锁会在.svn(隐藏文件)中生成一个名字叫lock的文件(无后缀),查找所有的,手工删除。
然后再尝试更新,系统可能会提示某个.base文件无法访问。
找到它,把相关的文件或其所在的目录删除,重新更新,工作量就小多了。
分支/基线(Branch/Tag):
SVN的项目目录下,有3个子目录:trunk, branch, tag
1. trunk: trunk目录是主目录,即工作目录。绝大部分提交、更新操作都发生在这个目录。
2. branch: branch目录是分支目录,存放当前开发版本的分支版本。
3. tag: tag目录是基线目录,存放已经发布的版本或者重要的基线目录。这个目录为只读。
如果有bug需要修改,则需要创建基线目录的分支目录来修改。
重定位(Relocate):
有时服务器的地址改变了,利用relocate来重新定位服务器的地址。
svn的版本号是如何迭代的?
4个规则:
1. 版本号从1开始迭代,每次提交使版本号增1.
2. 每个受版本控制的文件有自己的版本历史,其第一个版本号为加入时版本库的版本号。
3. 版本库的版本号 = 目前所有受版本控制的文件版本号的最大值。
4. 版本库的版本号是连续的,文件版本号非连续。
Checkout和Export的差异?
Checkout出的内容受版本控制,Export出的内容不受版本控制。