SVN
版本号:指的是整个仓库中文件的版本号,并不是当初该文件的版本号。
checkout:将服务端的项目整体捡出到本地。第一次将仓库(Repository)中的资源捡出到本地时才会用到。第一次checkout后,后面就是使用update和commit进行操作。
export:跟checkout类似,也是将项目导出到本地。但checkout导出后受版本控件,而export导出后不受版本控件,相当于直接把服务端的文件复制到本地一份。可以发现checkout导出的项目,文件夹下有一个.svn的隐藏文件夹(用来控制版本的),而export导出的却没有。
diff with previous version:与上个版本进行比较
import:将本地的文件上传到服务器。与checkout对比。注意:对文件夹进行import时,只会将文件夹内的内容上传到服务器,并不包含该文件夹。
update:更新。假设本地删除某一资源,可以通过update将服务端的资源再次捡出到本地。不用担心本地资源的丢失。
revert:还原。将本地的文件还原成服务器中的版本。
update to version:更新到指定的版本。也是用来还原到指定的版本。其中HEAD指的就是最新版本。
绿色对号:本地与服务端完美匹配。
黄色感叹号:冲突时出现。
红色感叹号:本地修改,尚未提交。使用commit提交图标就会变成绿色对号。
蓝色问号:尚未添加到版本控制中。
蓝色加号:已经通过add将文件添加到仓库(Repository),但尚未执行commit操作。此时仓库中并没有该文件。因此,添加一个文件到仓库(Repository)需要经过两步:首先add,再commit。当执行完commit后,图标会变成绿色对号。
delete:本地删除一个文件。该父件所处的文件夹的图标会变成红色感叹号,还需要commit。这跟add一样,delete只是告诉服务端要删除,commit后服务端才会真正地删除该文件。
branch/tag:建立分支。建立分支后,当前的文件夹仍旧处于旧分支中。需要通过switch进行切换。
switch:切换分支。
merge:合并分支
get lock:锁定。一个文件被锁定后,自己在操作该文件时,别人无非进行操作。
release lock:解锁。
备份
先export到本地,然后压缩存储备份即可。
冲突
不同人对同一文件进行了修改,后提交者提交时仓库中的版本已经发生变化,此时便会发生冲突。
如果修改的位置不同,可以先update(此时svn会自动将先提交者修改的和后提交者修改的进行合并),再commit。
如果修改的是同一个地方,先update,此时本地会出现几个新文件——一个以.mine结尾,两个以".r版本号"结尾——其中mine文件指本地修改后的文件,版本号较低的是本地修改前的文件,版本号较高的指repository中最新的文件。而原来的文件则出现一些特殊符号,指明了冲突的地方。在原文件中手动解决冲突后再commit。至于新出来的几个文件(mine等三个)可以直接删掉。