SVN功能详解

SVN功能详解windows

TortoiseSVN是windows下其中一个很是优秀的SVN客户端工具。经过使用它,咱们能够可视化的管理咱们的版本库。不过因为它只是一个客户端,因此它不能对版本库进行权限管理。浏览器

TortoiseSVN不是一个独立的窗口程序,而是集成在windows右键菜单中,使用起来比较方便。
 安全

TortoiseSVN每一个菜单项都表示什么意思
0一、SVN Checkout(SVN取出)服务器


点击SVN Checkout,弹出检出提示框,在URL of repository输入框中输入服务器仓库地址,在Checkout directory输入框中输入本地工做拷贝的路径,点击肯定,便可检出服务器上的配置库。app

0二、SVN Update(SVN更新)
若是配置库在本地已有工做拷贝,则取得最新版本只是执行SVN Update便可,点击SVN Update,系统弹出更新提示框,点击肯定,则把服务器是最新版本更新下来ide

0三、Import(导入)
选择要提交到服务器的目录,右键选择TortoiseSVN----Import,系统弹出导入提示框,在URL of repository输入框中输入服务器仓库地址,在Import Message输入框中输入导入日志信息,点击肯定,则文件导入到服务器仓库中。svn

0四、Add(加入)
若是有多个文件及文件夹要提交到服务器,咱们能够先把这些要提交的文件加入到提交列表中,要执行提交操做,一次性把全部文件提交,如图,能够选择要提交的文件,而后点击执行提交(SVN Commit),便可把全部文件一次性提交到服务器上工具

0五、Resolving Conflicts(解决冲突)
   有时你从档案库更新文件会有冲突。冲突产生于两人都修改文件的某一部分。解决冲突只能靠人而不是机器。当产生冲突时,你应该打开冲突的文件,查找以<<<<<<<开始的行。冲突部分被标记:
<<<<<<< filename
your changes
=======
code merged from repository
>>>>>>> revision
Subversion为每一个冲突文件产生三个附加文件:
filename.ext.mine
更新前的本地文件。
filename.ext.rOLDREV
你做改动的基础版本。
filename.ext.rNEWREV
更新时从档案库获得的最新版本。
使用快捷菜单的编辑冲突Edit Conflict命令来解决冲突。而后从快捷菜单中执行已解决Resolved命令,将改动送交到档案库。请注意,解决命令并不解决冲突,而仅仅是删除filename.ext.mineandfilename.ext.r*文件并容许你送交。设计

0六、Check for Modifications(检查更新)
点击Check for Modifications,系统列表因此待更新的文件及文件夹的状态.版本控制


0七、Revision Graph(版本分支图)
查看文件的分支,版本结构,能够点击Revision Graph,系统以图形化形式显示版本分支.

0八、Rename(更名)
   SVN支持文件更名,点击Rename,弹出文件名称输入框,输入新的文件名称,点击肯定,再把修改提交,便可完成文件更名

0九、Delete(删除)
   SVN支持文件删除,并且操做简单,方便,选择要删除的文件,点击Delete,再把删除操做提交到服务器

十、Moving(移动)
   选择待移动的文件和文件夹;按住右键拖动right-drag文件(夹)到跟踪拷贝内的新地方;松开左键;在弹出菜单中选择move files in Subversion to here

十一、Revert(还原)
   还原操做,如刚才对文件作了删除操做,如今把它还原回来,点击删除后,再点击提交,会出现如上的提示框,点击删除后,再点击Revert,即已撤销删除操做,若是这时候点击提交,则系统弹出提示框:没有文件被修改或增长,不能提交

十二、Branch/Tag(分支/标记)
   当须要建立分支,点击Branch/Tag,在弹出的提示框中,输入分支文件名,输入日志信息,点击肯定,分支建立成功,而后可查看文件的版本分支状况

1三、Switch(切换)
   文件建立分支后,你能够选择在主干工做,仍是在分支工做,这时候你能够经过Switch来切换。

1四、Merge(合并)
   主干和分支的版本进行合并,在源和目的各输入文件的路径,版本号,点击肯定。系统即对文件进行合并,若是存在冲突,请参考冲突解决。

1五、Export(导出)
   把整个工做拷贝导出到本地目录下,导出的文件将不带svn文件标志,文件及文件夹没有绿色的”√”符号标志。

1六、Relocate(从新定位)
   当服务器上的文件库目录已经改变,咱们能够把工做拷贝从新定位,在To URL输入框中输入新的地址

1七、Add to Ignore List(添加到忽略列表)
   大多数项目会有一些文件(夹)不须要版本控制,如编译产生的*.obj, *.lst,等。每次送交,TortoiseSVN提示那些文件不须要控制,挺烦的。这时候能够把这些文件加入忽略列表。

1八、SVN其它相关功能
   客户端修改用户密码:
   打开浏览器,在地址栏内输入http://192.168.1.250/cgi-bin/ChangePasswd,启动客户端修改用户密码的界面,输入正确的用户名,旧密码,新密码(注意密码的位数应该不小于6,尽可能使用安全的密码),点击修改便可.

1九、SVN Commit(版本提交)
把本身工做拷贝所作的修改提交到版本库中,这样别人在获取最新版本(Update)的时候就能够看到你的修改了。

20、Show log(显示日志)
显示当前文件(夹)的全部修改历史。SVN支持文件以及文件夹独立的版本追溯。

2一、Repo-Browser(查看当前版本库)
查看当前版本库,这是TortoiseSVN查看版本库的入口,经过这个菜单项,咱们就能够进入配置库的资源管理器,而后就能够对配置库的文件夹进行各类管理,至关于咱们打开个人电脑进行文件管理同样。

2二、Revision Graph(版本图形)
查看当前项目或文件的修订历史图示。若是项目比较大型的话,通常会建多个分支,而且多个里程碑(稳定版本发布),经过这里,咱们就能够看到项目的全貌。

2三、Resolved(解决冲突)
若是当前工做拷贝和版本库上的有冲突,不能自动合并到一块儿,那么当你提交修改的时候,tortoisesvn就会提示你存在冲突,这时候你就能够经过这个菜单项来解决冲突。冲突的解决有两种,一种是保留某一份拷贝,例如使用配置库覆盖当前工做拷贝,或者反过来。还有一种是手动解决冲突,对于文本文件,可使用tortoiseSVN自带的工具,它会列出存在冲突的地方,而后你就能够和提交者讨论怎么解决这个冲突。同时它也对Word有很好的支持

2四、Update to Revision(更新至版本)
从版本库中获取某一个历史版本。这个功能主要是方便查看历史版本用,而不是回滚版本。注意:获取下来以后,对这个文件不建议进行任何操做。若是你作了修改,那么当你提交的时候SVN会提示你,当前版本已失效(即不是最新版本),没法提交,须要先update一下。这样你所作的修改也就白费了。

2五、Revert(回滚)
若是你对工做拷贝作了一些修改,可是你又不想要了,那么你可使用这个选项把所作的修改撤销

2六、Cleanup(清除状态)
若是当前工做拷贝有任何问题的话,可使用这个选项进行修正。例如,有些文件原来是版本控制的,可是你没有经过tortoiseSVN就直接删除了,可是tortoiseSVN仍是保留着原来的信息(每一个文件夹下都有一个.svn的隐藏文件夹,存放着当前文件夹下全部文件夹的版本信息)因此这就会产生一些冲突。可使用cleanup来清理一下。

2七、GetLock/ReleaseLock(加锁/解锁)
若是你不想别人修改某个文件的话,那么你就能够把这个文件进行加锁,这样能够保证只有你对这个文件有修改权。除非你释放了锁,不然别人不可能提交任何修改到配置库中

2八、Branch/tag(分支/标签)
     Branch是分支的意思。例如当在设计一个东西的时候,不一样的人有不一样的实现,可是没有通过实践检验,谁也不想直接覆盖掉其余人的设计,因此能够引出不一样的分支。未来若是须要,能够将这些分支进行合并。
     tag是打标签的意思。一般当项目开发到必定程度,已经能够稳定运行的时候,能够对其打上一个标签,做为稳定版。未来能够方便的找到某个特定的版本(固然咱们也可使用版本号来查找,可是数字毕竟不方便)
SVN对于分支和标签都是采用相似Linux下硬连接的方式(同一个文件能够存在两个地方,删除一个不会影响另外一个,所作修改会影响另外一个),来管理文件的,而不是简单的复制一份文件的拷贝,因此不会有浪费存储空间的问题存在。

2九、Export(导出)
这个功能是方便咱们部署用。当咱们须要发布一个稳定版本时,就可使用这个功能将整个工程导出到某个文件夹,新的文件夹将不会包含任何版本信息了。

30、Relocate(版本库转移)
当咱们版本库发生转移的时候就须要用到这个功能了。例如我原先的版本库是建在U盘上的,如今转移到(复制整个配置库文件夹)开发服务器上,使用https代替文件系统的访问。所以就须要将原来的工做拷贝的目标版本库从新定位到开发服务器上。

3一、create patch(建立补丁) 建立补丁。若是管理员不想让任何人都随便提交修改,而是都要通过审核才能作出修改,那么其余人就能够经过建立补丁的方式,把修改信息(补丁文件)发送给管理员,管理员审核经过以后就可使用apply patch提交此次修改了。

相关文章
相关标签/搜索