TortoiseSVN客户端常用命令详解

合集下载

TortoiseSVN常用功能介绍

TortoiseSVN常用功能介绍


用来自别人的修改更新你的工作拷贝
. 已经完成更新的进度对话框
紫色 深红 绿色 亮红 黑色
新项已经增加到你的工作拷贝中。 你的工作拷贝中删除了多余项,或是你的工作副本中丢失的项被替换。 版本库中的修改与你的本地修改成功合并。 来自版本库的修改在与本地修改合并时出现了冲突,需要你解决。 你的工作拷贝中的没有改动的项被来自版本库中新版本所更新。
如果项目含有外部项目的引用, 而这个引用你不希望同时检出,请 选中忽略外部的复选框。

检出工作拷贝
重要
你应该只检出到一个空的目录。如果你要将你的源代码树检出到与你导 入它们时相同的目录,Subversion会给出一个错误信息它不会用已受控 的文件覆盖已经存在的但未受控的文件。你必须检出到一个不同的目录 或是先将已经存在的源代码树删除。

导入数据到版本库
在将你的项目导入到版本库之前,建议: 1. 删除所有构建工程不需要的文件(临时文件,编译器产生的文件, 例如 *.obj,生成的二进制文件,...) 2. 组织目录和子目录内的文件。尽管以后可能会改名/删除文件,还 是建议在导入之前使你的项目结构组织良好! 请注意:
让你的修改进入版本库
显示提交进度的进度对话框 在按下OK之后,会出现一个对话 框显示提交的进度。

让你的修改进入版本库
进度对话框使用颜色代码来高亮显示不同的提交行为。
蓝色 紫色 深红 黑色
提交一个修改。 提交一个新增项。 提交一个删除或是替换。 所有其他项。
这是默认的配色方案,你可以通过设置对话框来定制这些颜色。
导入的文件夹没有被版本控制!你需要检出刚才导入的版本, 以便获得受版本控制的工作目录。

版本日志对话框

TortoiseSVN常规功能

TortoiseSVN常规功能

1 TortoiseSVN 常规功能介绍TortoiseSVN 是最常用的Subversion 客户端软件,其所有功能都集成在系统右键中,通过系统右键菜单便可实现TortoiseSVN 的日常操作。

首先,需从配置库(repository)签出(check out)原始码的一个版本到本地工作目录。

然后,可以只编辑想要改变的文件,也可以新增文件或是删除不再需要的文件。

当完成时,可以签入(Commit)到库中如果在修改时,其它人已经改变了同一个文件,那么签入(commit)会失败。

那么必须从仓库(repository)更新(Update)所有的文件。

这将其它开发人员的改变自动合并到您的文件副本里。

但如果两个人改变了同一行程序代码或者修改的是二进制文件(如word、excel 等),这将发生“冲突(Conflict)”,必须手动解决冲突(见后面)。

1.1 初始化导入/import对于Subversion 来讲。

服务端进行配置后,项目版本库第一次运行,会由配置管理员进行第一次导入操作。

来到我们需要导入的项目根目录,依次导入D:\branchs;tags;trunk,目录下有若干个文件。

1)右键-> TortoiseSVN->导入/import2)版本库URL输入https://192.168.75.135/www3)系统提示输入用户名跟密码点击OK后就可以将数据导入到我们刚刚定义的数据库中了。

在进行初始化导入操作时,也可通过鼠标选中需要导入的文件夹直接拖拽“版本浏览/ Repo –Browser”右侧。

1.2 SVN 检出/SVN check out◆该操作可以将SVN 服务端所保存的数据下载至个人工作平台。

◆来到我们想要导入的项目根目录,在这个例子里是C:\Documents and Settings\\桌面\test,该目录为空:1)右键->SVN 检出/SVN check out2)版本库URL 输入svn://192.168.75.138/www(此处版本库URL 为subversion服务端IP 地址;检出至目录为C:\Documents and Settings\chengr.HS\桌面\test),点击确定。

svn tortoise基本操作

svn tortoise基本操作

svn tortoise基本操作
TortoiseSVN是一款开源的SVN客户端,它可以帮助开发者更好地管理代码,提高开发效率。

TortoiseSVN的基本操作如下:
1、安装TortoiseSVN:首先,需要从官网下载TortoiseSVN的安装包,然后按照提示安装即可。

2、创建SVN仓库:在本地创建一个文件夹,右键点击该文件夹,选择“SVN Checkout”,
输入SVN仓库的地址,点击“OK”即可创建SVN仓库。

3、更新SVN仓库:右键点击SVN仓库,选择“SVN Update”,即可更新SVN仓库。

4、提交SVN仓库:右键点击SVN仓库,选择“SVN Commit”,输入提交信息,点击“OK”
即可提交SVN仓库。

5、查看SVN仓库日志:右键点击SVN仓库,选择“SVN Log”,即可查看SVN仓库的日志。

6、比较SVN仓库:右键点击SVN仓库,选择“SVN Diff”,即可比较SVN仓库的不同版本。

以上就是TortoiseSVN的基本操作,使用TortoiseSVN可以让开发者更好地管理代码,提
高开发效率。

TortoiseSVN常规功能

TortoiseSVN常规功能

1 TortoiseSVN 常规功能介绍TortoiseSVN 是最常用的Subversion 客户端软件,其所有功能都集成在系统右键中,通过系统右键菜单便可实现TortoiseSVN 的日常操作。

首先,需从配置库(repository)签出(check out)原始码的一个版本到本地工作目录。

然后,可以只编辑想要改变的文件,也可以新增文件或是删除不再需要的文件。

当完成时,可以签入(Commit)到库中如果在修改时,其它人已经改变了同一个文件,那么签入(commit)会失败。

那么必须从仓库(repository)更新(Update)所有的文件。

这将其它开发人员的改变自动合并到您的文件副本里。

但如果两个人改变了同一行程序代码或者修改的是二进制文件(如word、excel 等),这将发生“冲突(Conflict)”,必须手动解决冲突(见后面)。

1.1 初始化导入/import对于Subversion 来讲。

服务端进行配置后,项目版本库第一次运行,会由配置管理员进行第一次导入操作。

来到我们需要导入的项目根目录,依次导入D:\branchs;tags;trunk,目录下有若干个文件。

1)右键-> TortoiseSVN->导入/import2)版本库URL输入https://192.168.75.135/www3)系统提示输入用户名跟密码点击OK后就可以将数据导入到我们刚刚定义的数据库中了。

在进行初始化导入操作时,也可通过鼠标选中需要导入的文件夹直接拖拽“版本浏览/ Repo –Browser”右侧。

1.2 SVN 检出/SVN check out◆该操作可以将SVN 服务端所保存的数据下载至个人工作平台。

◆来到我们想要导入的项目根目录,在这个例子里是C:\Documents and Settings\\桌面\test,该目录为空:1)右键->SVN 检出/SVN check out2)版本库URL 输入svn://192.168.75.138/www(此处版本库URL 为subversion服务端IP 地址;检出至目录为C:\Documents and Settings\chengr.HS\桌面\test),点击确定。

SVN客户端--TortoiseSVN使用说明

SVN客户端--TortoiseSVN使用说明

SVN客户端--TortoiseSVN使用说明TortoiseSVN是windows下其中一个非常优秀的SVN客户端工具。

通过使用它,我们可以可视化的管理我们的版本库。

不过由于它只是一个客户端,所以它不能对版本库进行权限管理。

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

TortoiseSVN每个菜单项都表示什么意思01、SVN Checkout(SVN取出)点击SVN Checkout,弹出检出提示框,在URL of repository输入框中输入服务器仓库地址,在Checkout directory输入框中输入本地工作拷贝的路径,点击确定,即可检出服务器上的配置库。

02、SVN Update(SVN更新)如果配置库在本地已有工作拷贝,则取得最新版本只是执行SVN Update即可,点击SVN Update,系统弹出更新提示框,点击确定,则把服务器是最新版本更新下来03、Import(导入)选择要提交到服务器的目录,右键选择TortoiseSVN----Import,系统弹出导入提示框,在URL of repository输入框中输入服务器仓库地址,在Import Message输入框中输入导入日志信息,点击确定,则文件导入到服务器仓库中。

04、Add(加入)如果有多个文件及文件夹要提交到服务器,我们可以先把这些要提交的文件加入到提交列表中,要执行提交操作,一次性把所有文件提交,如图,可以选择要提交的文件,然后点击执行提交(SVN Commit),即可把所有文件一次性提交到服务器上05、Resolving Conflicts(解决冲突)有时你从档案库更新文件会有冲突。

冲突产生于两人都修改文件的某一部分。

解决冲突只能靠人而不是机器。

当产生冲突时,你应该打开冲突的文件,查找以<<<<<<<开始的行。

冲突部分被标记:<<<<<<< filenameyour changes=======code merged from repository>>>>>>> revisionSubversion为每个冲突文件产生三个附加文件:filename.ext.mine更新前的本地文件。

TortoiseSVN客户端常用命令详解

TortoiseSVN客户端常用命令详解

TortoiseSVN客户端常用命令详解1、Checkout首先要Checkout服务器端的Repository,所谓的Checkout就是指获得服务器端指定的Repository存储的所有文件。

Checkout的具体方式是:在客户端新建一个空目录,比如:F:\Project1 (确保是空的)在该目录上单击右键,在弹出式菜单中选中SVN Checkout...,之后按要求录入内容:然后点OK,会弹出一个认证对话框,输入用户名和密码。

点OK后就完成了对Repository的Checkout。

检出后,所有检出文件上都打着绿色对勾:命令方式检出1:在DOS命令中输入需要检出的目录:http://192.168.1.210:8081/svn/svnproject/Knowledge2:其中,意思是,检出文档是放在D盘的根目录下,是检出文档的存放位置,如下图:2、update获取版本库中最新版本,具体的方法是:在WC目录上单击右键,SVN Update。

这时WC中的文件就是最新的版本了。

3、commitcommit功能就是将你本地的文件修改记录上传到服务器上面,可以理解为上传。

只会上传原先checkout然后又被修改了的文件,假如你新加入了某些文件,需要右键点击文件选择Add,然后文件上面会出现一个加号,在下次commit的时候才能选到该文件。

commit页面:注意:commit的时候,最好填写Log信息,Log内容包括:修改了哪些东西及为什么做这些修改(what+why)强制必须录入log: property 中设置录入log最小长度,此时commit必须录入log,否则不允许提交.设置录入log最小长度页面:4、add将要添加的文件或者目录拷贝到WC下,然后在该文件或目录上单击右键,TortoiseSVN->Add,点OK。

如果添加了不止一个文件或目录,则鼠标不要在WC中点中任何文件,然后单击右键,TortoiseSVN->Add,就可以添加多个文件或目录。

TortoiseSVN操作手册

TortoiseSVN操作手册

TortoiseSvn操作手册模拟环境现有项目名称:test服务端版本库:testURL:svn://192.168.10.148/rd/RD/test开发人员:devA ,devB版本库目录结构:一.基本操作1.安装客户端安装成功后,右键单击鼠标会多出两个选项,分别是SVN checkout和Tortoise SVN 2.建立工作区项目开始之前,在本地PC的硬盘上,创建一个文件夹,文件夹命名随意(例如workspace),该文件夹即作为软件开发者在项目开发过程中的工作区。

3.Checkout版本库假如现在开发一个项目,配置管理员会在服务端建立一个该项目的版本库test,在workspace文件夹上,右键单击鼠标。

选择SVN checkout,会出现如下窗口:版本库URL中输入版本库地址:例如svn://192.168.10.148/rd/RD/test 在检出至目录中系统会自动添加第二步所创建的工作区目录。

在版本中,选中最新版本,这样将会下载到版本库的最新版本。

如果想下载中的旧版本文件,可选中版本,然后填入版本号即可。

如果不想下载整个版本库,而是只想下载自己负责的那部分模块,可以在URL 后添加模块名,例如svn://192.168.10.148/rd/RD/test/Doc 。

单击OK,输入用户名和密码4.修改版本库对版本库的修改包括修改文件内容,添加删除文件,添加删除目录。

经过第三步的操作,本地的工作区文件夹,即workspace上会有绿色对勾出现,工作区下的文件也会带有绿色对勾,如图:如果对库中某一个文件进行了修改,系统会自动为这个文件和这个文件所在的各级父文件夹加上红色叹号,代表该文件或目录已经在本地被修改,如图:当所有对版本库的修改操作完毕后,右键单击工作区文件夹,选择commit提交新版本,输入密码后系统将把修改后的版本库上传到服务端,即完成一次对版本库的更新。

注意:新版本提交之后,其他拥有写权限的用户也许会重复以上几步的操作,完成对版本库的再一次更新。

TortoiseSVN操作指南

TortoiseSVN操作指南

Save as Add Revert Blame
Commit
Show log
主要内容
安装、登入、认证 获得状态信息 添加新文件和目录 忽略文件和目录 文件上传至服务器 检出工作拷贝 让你的修改进入版本库


用来自别人的修改更新你的工作拷贝
导入数据到版本库 版本日志对话框 查看差异
修复外部改名
有时候文件不是用Subversion改名,于是它们在文件列表中作为丢 失和未版本控制的文件出现。为了避免丢失历史,你需要通知 Subversion。简单的选择老名称(丢失)和新名称(未版本控制),然后 使用右键菜单 → 修复移动来指明这两个文件是改名关系。
让你的修改进入版本库
显示提交进度的进度对话框 在按下OK之后,会出现一个对话 框显示提交的进度。
忽略文件和目录
如果你右键一个单独的未版本化文件,并从菜单栏选择TortoiseSVN → (加入忽略列 表)Add to Ignore List,会出现一个子菜单允许你仅选择该文件,或者所有具有相 同后缀的文件。如果你选择多种文件,那么就没有子菜单了,你仅能添加这些特定的 文件/目录。 如果你想从忽略列表中移除一个或多个条目,right click 右键该条目并选择 TortoiseSVN → Remove from Ignore List
获得状态信息
TortoiseSVN 最 直 观 的 功能之一就是图标重载,根 据文件的 Subversion 状态的 不同,重载的图标也不同。 重载的图标显示在工作 复本的文件上,你一眼就可 以知道哪些文件被修改过了。
图:重载图标的文件
注意:安装后需要重新启动电脑,图标才会被重载.
图标重载
一个新检出的工作复本使用绿色的对勾做重载。表示Subversion状态正常. 在你开始编辑一个文件后,状态就变成了已修改,而图标重载变成了红色感叹 号。通过这种方式,你可以很容易地看出哪些文件从你上次更新工作复本后被 修改过,需要被提交。 如果在提交的过程中出现了冲突,图标变成黄色感叹号。 如果你给一个文件设置了svn:needs-lock属性,Subversion会让此文件只读,直到你获 得文件锁。只读文件具有这个重载图标来表示你必须在编辑之前先得到一个锁。 如果你拥有了一个文件的锁,并且Subversion状态是正常,这个重载图标就提醒你 如果不使用该文件的话应该释放锁,允许别人提交对该文件的修改。 这个图标表示当前文件夹下的某些文件或文件夹已经被计划从版本控制中 删除,或是该文件夹下某个受控的文件丢失了。 加号告诉你有一个文件或是目录已经被计划加入版本控制。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

TortoiseSVN客户端常用命令详解1、Checkout首先要Checkout服务器端的Repository,所谓的Checkout就是指获得服务器端指定的Repository存储的所有文件。

Checkout的具体方式是:在客户端新建一个空目录,比如:F:\Project1 (确保是空的)在该目录上单击右键,在弹出式菜单中选中SVN Checkout...,之后按要求录入内容:然后点OK,会弹出一个认证对话框,输入用户名和密码。

点OK后就完成了对Repository的Checkout。

检出后,所有检出文件上都打着绿色对勾:命令方式检出1:在DOS命令中输入需要检出的目录:http://192.168.1.210:8081/svn/svnproject/Knowledge2:其中,意思是,检出文档是放在D盘的根目录下,是检出文档的存放位置,如下图:2、update获取版本库中最新版本,具体的方法是:在WC目录上单击右键,SVN Update。

这时WC中的文件就是最新的版本了。

3、commitcommit功能就是将你本地的文件修改记录上传到服务器上面,可以理解为上传。

只会上传原先checkout然后又被修改了的文件,假如你新加入了某些文件,需要右键点击文件选择Add,然后文件上面会出现一个加号,在下次commit的时候才能选到该文件。

commit页面:注意:commit的时候,最好填写Log信息,Log内容包括:修改了哪些东西及为什么做这些修改(what+why)强制必须录入log: property 中设置录入log最小长度,此时commit必须录入log,否则不允许提交.设置录入log最小长度页面:4、add将要添加的文件或者目录拷贝到WC下,然后在该文件或目录上单击右键,TortoiseSVN->Add,点OK。

如果添加了不止一个文件或目录,则鼠标不要在WC中点中任何文件,然后单击右键,TortoiseSVN->Add,就可以添加多个文件或目录。

这时文件的状态图标会发生如下变化:Add命令只是告诉本地的WC将该文件纳入版本管理,并没有将这个改变提交到服务器端,在F:\Project1下单击右键,SVN Commit...,将你所做的修改提交到Repository。

5、modify用文本编辑器或IDE对文件修改后,文件的状态图标会变化,然后单击右键,SVN Commit... 即可提交修改。

6、revert(1)、放弃未提交的修改,单击右键,TortoiseSVN->Revert,本地的WC中的文件和目录会恢复到修改前的状态。

(2)、回复到之前某个revision状态:a、在本地WC中单击右键,TortoiseSVN->Update to Revision...,然后输入你想要回复到的Revision号点OK按钮。

此时仅仅是WC中回复到特定版本,对Repository没有任何影响。

b、把Repository回复到某个revision状态方法:方法一:先执行Update命令将Working Copy更新到最新的Revision,然后在Working Copy中单击右键,TortoiseSVN->Show Log,弹出的Log Messages窗口中会显示该Repository的所有Revision,选中最新的Revision,之后按住Shift键,再单击你想回复到的Revision+1的那个Revision(比如Repository的最新Revision是79,你想将Repository的状态回复到Revision60,那么就选中Revision70,再按住Shift键,选中Revision61,就是说选中Revision61到Revision79之间的所有Revision)。

然后在选中的Revision上单击右键,选中“Revert changes from these revision”。

再点Yes按钮,就可以将WC的状态回复到目标Revision60。

注意:此时只是WC回复到目标Revision,之后应该用Commit提交修改,这样Repository最新状态就与WC的状态一致,都为 Revision60。

方法二:采取大版本号向小版本号merge的方式,进行回滚保证我们拿到的是最新代码,TortoiseSVN右键 merge,如果我们最新版本为79,要回滚到60,如下图,“From”的URL和“to”的URL均了录入要回复的文件在版本库的存放地址点“merge”,然后commit即可。

7、delete删除文件时,选中要删除的文件或目录,单击右键,TortoiseSVN->Delete孙管理第10然后提交修改。

注意千万不要用windows自己的“删除”或者“Delete”键来删除文件,否则将无法提交你的修改。

这一点对目录的删除来说尤为重要。

因为每个目录里有个 .svn隐藏目录,存放目录下文件的信息,使用操作系统命令delete/move时, .svn还指向原来的位置,所作操作不受SVN控制。

8、move移动方法:孙管理第11(1)、选择你要移动的文件或目录(2)、拖拽(right-drag)他们到新的工作副本下,(3)、松开鼠标右键(4)、在弹出菜单选择上下文菜单→ SVN 移动文件。

原理同上。

9、Branche/Tag操作方法:创建分支非常简单,只需在需要创建分支的工作目录上,使用TortoiseSVN → Branch/Tag 命令,在 "To URL" 项指定待创建的分支 url 即可孙管理第12实现本质:subversion对分支和标签是通过复制一份最新的版本库的快照来实现的。

一般情况下,tag,是用来做一个milestone的,不管是不是release,都是一个可用的版本。

这里应该是只读的,更多的是一个显示用的,给人一个可读(readable)的标记;branch,是用来做并行开发的,这里的并行是指和trunk进行比较。

分支与标签的区别:在实现上,branch和tag,对于svn都是使用copy实现的,所以他们在默认的权限上和一般的目录没有区别。

至于何时用tag,何时用branch,完全由人主观的根据规范和需要来选择,而不是强制的(比如cvs),一个不去做任何的修改的分支就是版本库某一时刻的一个快照,相当于为某一个版本做了一个标签Branch和Tag都是拷贝指向原始文件的链接,当你对拷贝做修改时,记录为相对原始文件的修改,称为延迟拷贝,效率高且几乎不占用空间。

Tag:版本号是个好东西,但是我们更倾向于记住像第二预览发布版这样的名字,而不是V01这样的数字,标签是用来做这件事情的。

版本控制系统可以让你给某一个时刻的一组文件或孙管理第13者一些目录或者整个项目分配一个名字。

如果你个某几个文件分配标签“第二发布预览版”,以后就能使用这个标签签出它们。

标签是一种很好地跟中项目代码开发过程中发生的重要事件的方式。

分支合并:使用TortoiseSVN → Merge命令,在“ From:(start URL and revision of the range to merge) ”中选择希望合并的目录 ( 如: trunk) ,并指定希望合并的开始 revision 编号,在“ To:(end URL and revision of the range to merge) ”中选择结束 revision 编号。

然后点击“ merge ”完成合并操作,剩下的工作就是编辑冲突了。

当然运气好的话是不需要这个过程滴。

值得注意的是,“ From: ”和“ To: ”中的 URL 通常是相同的,切记不要与创建分支时的含义混淆10、get lock/release lock选择工作副本中你想要获取锁定的文件,然后选择命令TortoiseSVN ---> Get lock…孙管理第14出现一个对话框,允许你输入注释,这样别人知道你为什么锁定这个文件。

注释是可选的,并且只用于基于Subversion 的库。

选择需要锁定的文件在复选框打勾,点击“确定”按钮锁定选择的文件:孙管理第15出现一个对话框,输入正确的用户名和密码即可向版本库提交你想锁定文件的信息。

锁定文件成功!返回信息!”Locked by admin”表示文件已被admin 用户锁定;”alpay_payto.php”表示锁定文件的名称。

点击”OK”按钮确定锁定文件成功。

孙管理第16释放锁定(取消锁定)选择工作副本中你想要取消锁定的文件,然后选择命令TortoiseSVN ---> Release lock…之后操作同get lock。

当被锁定文件commit后,会自动解锁,无需再去解锁;如果commit后还需上锁,则在commit 时可选择:“keep lock”孙管理第17强制锁定:设置对象文件svn:needs-lock这个属性,update后强制文件的属性为只读,只有lock之后,才能对文件进行修改操作,commit-release lock之后,又自动变成只读。

具体做法:先将a.jpg文件拷贝到WC中,然后在该文件上单击右键,TortoiseSVN->Add,告诉Subversion要将该文件纳入版本控制,接着在该文件上单击右键并选中属性,在弹出的属性对话框中选中Subversion页。

在下拉框中选中“svn:needs-lock”,孙管理第18并在下面的文本框中填入“*”(其实这里填什么都无所谓,只要文件有“svn:needs-lock”附加属性就行),之后点Set按钮,“svn:needs-lock”附加属性就设置好了。

然后执行Commit命令提交修改。

这时当其他人执行Update时,a.jpg就会添加到他们的WC中,并且文件的附加属性也会随文件一起被得到。

可以看到a.jpg此时的图标就是灰色的,文件的Windows属性也是只读的11、clean upSVN 本地更新时,由于一些操作中断更新,如磁盘空间不够,用户取消,可能会造成本地文件被锁定的情况。

一般出现这种情况的解决方法:(1)、可以使用SVN clean up来清除锁定。

(2)、如果不是本目录锁定,系统提示上一层目录锁定,需要到上一层或者根目录中清除。

孙管理第19(3).如果在根目录下都无法clean的话,一般采取的方法是另外找一个目录重新check out。

但有时SVN目录下可能有一些自己本地修改的文件,还未提交到SVN服务器,这时重新check out需要注意本地文件的备份,并且不要强制覆盖服务器上其它人修改的内容。

(4)、如果觉得第3种很麻烦,可以考虑这样的方法。

相关文档
最新文档