当前位置:文档之家› 中国SVN源代码托管中心_svn_使用教程

中国SVN源代码托管中心_svn_使用教程

中国SVN源代码托管中心_svn_使用教程
中国SVN源代码托管中心_svn_使用教程

中国SVN源代码托管中心- https://www.doczj.com/doc/512698843.html,

使用帮助文档

让我们从零开始,Step By Step地尝试使用Svn Hosting及Subverson这个超级工具来革新我们的开发流程。

第一步,注册帐号并新建项目

1. 首先你需要先注册一个Svn Hosting的帐号并成功激活;

2. 登录后,点击“我的项目”,在里面新建一个项目;

3. 新建成功后,点击该项目的详细页,复制“SVN地址”的链接。

第二步,checkout

1. 下载和安装SVN的客户端TortoiseSVN,安装完成后不需要重启,但重启完可以看到资源管理器里文件夹图标的更新。

2. 从Svn Hosting上Checkout源代码-TortoiseSVN是一个资源管理器的插件,安装完成以后,鼠标右键点任何文件夹或者桌面都有TortoiseSVN

的菜单项。选择SVN Checkout,如下图示:

3. 填写源代码的SVN路径和本地文件夹。就是刚刚你在Svn Hosting上新建的那个项目,复制下来的那个地址。

例如,源代码路径是https://www.doczj.com/doc/512698843.html,/svn/test_-这个是我在SVN Hosting上建立的一个测试项目。

4. 然后他会提示你输入帐户,密码,将你在SVN Hosting注册的帐号和密码填上就OK。

第三步,把你的程序源码放入源码库

1. 你是不是发现checkout下来的目录空空如也,如果你打开这个目录,你会发现除了一个.svn的隐藏目录,空空如也。是的,这是正常的。.svn

目录用来记录你所有的操作记录,以一种不可思议的纪录方式。

图4:checkout finished后

图5:目录列表-这些小图标正是版本管理的标志,表明了这些目录正在使用SVN进行管理。打勾表示当前目录没有作代码更新;打“!”表明你更改了源代码,需要commit了。

图五:进到test目录里,发现空空如也,这是正常的,你没有放任何源码进去。

2. 现在,把你的源码放进去这个目录里面吧。

第四步,Commit和Update

1. 你现在应该要把你这个项目的代码提交到源代码库了。应该怎么样做呢?选择Commit。你可以在根目录下击右键,选取“SVN commit”,同样也

可以到外面的目录,点右键选“test”目录。

2. 这时,会出现这样的对话框,你选择“全部”,除非你有个别文件不希望提交到源码库里。

3. 然后完成后,你会发现这个目录里的文件显示方式已经不一样了,是的,这些打了“勾”的文件已经进入到源码库并开始版本管理了。

4. 好了,现在你在家里已经完成了代码的提交。然后,假设你回到公司,要获得源代码来继续跟进编写,怎么办呢?对了,第一次,先“checkout”

下来,步骤同上,但因为这次你的源码库里已经有东西了,你checkout下来的目录不会是空的了,而是有你需要的源代码在里面了。

5. 然后用编辑器修改程序,比如这里我只是用Dreamweaver小改了一下,也可以用https://www.doczj.com/doc/512698843.html,, Eclipse等等,开发工具没有所谓。然后你会看到改过

的文件会有一个“!”号,他提示你需要将最新的改动提交到源码库。

6. 步骤同上。如果你需要一次commit多个文件,你直接选择根目录空白地方的右键来“Commit”;如果你只需要commit一个或指定文件,选择你

那些需要commit的文件来commit。

7. 然后,回到家后,点击“test”目录,选择一下“SVN update”,代码轻松同步了。

8. 呵呵,是不是爽很多,再不用拿着愚蠢的移动硬盘或U盘跑来跑去,或者用小心翼翼,整天怕覆盖错的FTP来传来传去呢?

进阶部分:多人协同工作

1. 多人协同工作首先你需要邀请你的朋友和其它开发程序员加入。比如,我这个“test”项目,需要邀请huajun来一起改代码(或者说,赋予huajun

可以读和改我的代码的权限),我需要先到这个SVN hosting网站,进入“我的项目”,选择项目“test”,进入在最下面的“添加项目成员”处,填入

“huajun”(注意,这个名字必须要与该用户的注册帐号完全一致)

2. 提交后,huajun将会收到邮件,被告知他已经被我加入到这个项目的开发成员当中了。当然,你日后仍有这个删除他的权限的功能可使用。

3. huajun的步骤也是和我一样,先去登录SVN Hosting,然后在“我加入的项目”当中找到这个项目,进入,找到这个项目的SVN地址,Checkout

下来。改动过后,Commit;要去改之前,记得先Update,看看partner们有没有作最新的更新,以免改重复。

4. 如果我想邀请的朋友还没有在SVN Hosting上注册帐号,怎么办呢?我们现在有Email邀请功能,可以直接发邮件到你要邀请的人的邮箱,他收

到邮件后,只需点击一个链接,即可实现一键注册并加入项目功能。

进阶部分2:Linux的应用

1. 本人自从用上SVN后,再也没有用过FTP去上传源代码来做WEB项目和做网站了。(那些外面免费下载的ECshop和Discuz!除外了,不过也

用wget为主了)用FTP的麻烦大家都知道:麻烦-要记住改了哪些文件;危险-很容易就覆盖错误。搞多几次,就搞糊涂了不知道哪个才是最新版本的代码。而使用SVN,这些问题完全解决了不再是问题。

2. 步骤大概是-在调试环境上改动代码-Commit-在服务器上Update,这时等于最新版本的程序已经上传到服务器上。(对于不需要编译和BS

架构的Script)

3. Linux下的SVN客户端大家可以google一下,不过我在ubuntu下是直接apt-get的安装相当简单。使用命令:svn checkout http://url就是将一

个项目的源码取下来,用svn up就可以将最新的更新同步到服务器上了。

TortoiseSVN使用说明书(超详细)

一、TortoiseSVN客户端的安装 1.客户端软件:TortoiseSVN-1.7.12.24070-win32-svn-1.7.9.msi 下载:\\10.0.0.127\share\SVN\SVN 客户端 中文语言包:LanguagePack_1.7.12.24070-win32-zh_CN.msi 下载:\\10.0.0.127\share\SVN\SVN 客户端\语言包 (客户端安装在系统的默认位置,不需要特殊的配置,安装完成后需要重新起动系统, 重启之后鼠标的右键菜单会多出这么一组命令) 2. 中文语言包的安装如下:

二、Subversion基本工作流程 这部分最重要,也是大家经常要用到的,即如何利用TortoiseSVN客户端对subversion库中的文件进行操作。 1.如何把subversion库中已经保存的文件版本检出到本地、并作修改后提交、从服务器端更新本地文件的版本。 检出到本地: 初次检出到本地文件夹时,在本地新建一个空文件夹,具体操作如下图: 如果要检出最新的版本可选中上图的(最新版本(H))单选按钮。 如果想检出自己需要的版本可选中上图的(版本(R))单选按钮,然后选择自己需要的版本文件。 在弹出的对话框中输入自己的用户名和密码。

修改文件后提交:(修改文件夹中的内容后文件夹会自动变成带有红色标记) 在信息框中为修改的文件添加说明信息。如下图 在变更列表中选中更变的文件。如下图

点击确定后会提示输入用户名和密码。

从服务器端更新本地文件的版本: 如果服务器上的版本库已经是第7版本,自己本机的版本还是第1版本。这时你可以更新自己本地的版本为第7版本。

svn中解决代码冲突

解决代码冲突 如果commit时出现“You have to update your work copy first.”红色警告,说明版本库中的此文件已经被其他人修改了。请先点“ok”按钮退出。执行update,然后再commit。 如果修改与update得到的代码不冲突,则自动合并。如果冲突(比如对同一行代码进行了修改),则出现”One or more files are in a conflicted state.“红色警告,并产生几个文件记录冲突。一般情况下,我们不要直接编辑冲突文件。而按照以下操作手工解决冲突。 在资源管理器中,选择commit时冲突的那个文件,鼠标右键菜单选择”Edit conficts”。 出现界面,分为”Theirs”、”Mine”和”Merged”3部分,表示”别人修改的内容”、”我修改的内容”和”合并后的结果”3部分。我们是要将”别人修改的内容”和”我修改的内容”有取舍地合并起来,形成”合并后的结果”。 合并一般分为4种情况: 保留”我的修改”,舍弃”别人的修改”。鼠标右键点击Mine框的相应行,点击”Use this text block”。 舍弃”我的修改”,保留”别人的修改”。鼠标右键点击Theirs框的相应行,点击”Use this text block”。 同时保留”我的修改”和”别人的修改”,并将”我的修改”放在前面。鼠标右键点击Mine 框的相应行,点击”Use text block from mine before theirs”。 同时保留”我的修改”和”别人的修改”,并将”别人的修改”放在前面。鼠标右键点击Mine框的相应行,点击”Use text block from theirs before mine”。 合并完成,Ctrl+S存盘,退出。 然后,在资源管理器中,选择冲突文件,鼠标右键菜单选择”Resolved”,标记冲突已解决。系统会自动删除因冲突而新建的文件。此时,就可以继续进行commit操作了。 本文来自CSDN博客,转载请标明出处:https://www.doczj.com/doc/512698843.html,/gori/archive/2009/04/12/4067588.aspx

代码同步工具SVN使用说明

开发者在开发一个项目的时候,一般都是一个团队开发协作。那么对于代码管理这一块就要用到SVN了。下面就给大家介绍一下在AppCan IDE 3.0中建立项目需要用到SVN管理的一系列流程。 1、SVN安装 1.下载svn软件:TortoiseSVN SVN软件分32-bit和64-bit运行环境,用户可依照自己的操作系统,下载相应的软件版本。这里以中文版举例。 2.下载完成之后,安装TortoiseSVN。正确安装之后,重启系统。 3.安装成功后,右键单击鼠标,应该可以看到如下图所示:

2、AppCan项目开发使用SVN流程 AppCan IDE 3.0开发版需要用户在https://www.doczj.com/doc/512698843.html,网站上注册用户名和密码,建立自己的帐号,才能够创建项目,具体创建项目流程请参考IDE开发流程文档。 创建一个项目后,AppCan会自动给用户生成一个唯一的ID和KEY值。 开发者可在本地建目录存放项目文件,通过SVN进行管理。 SVN管理流程举例说明如下: 1.在D盘下建立一个AppCansss的文件目录;。 2.右键点击文件夹,如图所示: 选择“SVN检出”,如图所示:

在版本库URL处输入在AppCan官网上创建项目时获得的上传地址(这里的上传地址就是用户的SVN管理地址),检出至目录默认是当前目录,点击“确定”,弹出提示,输入用户名和密码。用户名和密码由用户在AppCan官网注册获得。 点击“确定”,将相关项目文件保存在本地目录,如图所示:+

在AppCan IDE 3.0中新建项目,输入相应的应用ID和应用KEY。创建成功之后。会看到默认生成有一个android_iphone的文件夹。建立页面文件之后,整个项目如图所示: 在D盘建立的AppCansss文件下新建ceshi111文件,把创建的项目放在此文件夹下,把项目代码添加到SVN上。

客户端TortoiseSVN 安装和使用方法

一、客户端TortoiseSVN的安装 运行TortoiseSVN程序,点击Next,下面的截图顺序即为安装步骤:图1: 图2:

图3: 图4: 点击Finish按钮后会提示重启系统,其实不重启也没有关系。

二、客户端TortoiseSVN的使用方法 1、签入源代码到SVN服务器 假如我们使用Visual Studio在文件夹StartKit中创建了一个项目,我们要把这个项目的源代码签入到SVN Server上的代码库中里,首先右键点击StartKit文件夹,这时候的右键菜单如下图所示: 图2-2-1 点击Import,弹出下面的窗体,其中https://www.doczj.com/doc/512698843.html,是服务器名,svn是代码仓库的根目录,StartKit是我们在上个教程中添加的一个代码库。 说明:左下角的CheckBox,在第一次签入源代码时没有用,但是,在以后你提交代码的时候是非常有用的。 图2-2-2

点击OK按钮,会弹出下面的窗体,要求输入凭据:图2-2-3 在上面的窗体中输入用户名和密码,点击OK按钮:图2-2-4

如上图所示,好了,源代码已经成功签入SVN服务器了。这时候团队成员就可以迁出SVN服务器上的源代码到自己的机器了。 2、签出源代码到本机 在本机创建文件夹StartKit,右键点击Checkout,弹出如下图的窗体: 图2-2-5 在上图中URL of Repository:下的文本框中输入svn server中的代码库的地址,其他默认,

点击OK按钮,就开始签出源代码了。 说明:上图中的Checkout Depth,有4个选项,分别是迁出全部、只签出下一级子目录和文件、只签出文件、只签出空项目,默认的是第一项。上面的例子中,我们也可以使用web的方式访问代码库,在浏览器中输入https://www.doczj.com/doc/512698843.html,/svn/StartKit/ 这时候也会弹出对话框,要求输入用户名和密码,通过验证后即可浏览代码库中的内容。 搞定!源代码已经成功签出到刚才新建的StartKit目录中。 打开StartKit目录,可以看到如下图的文件夹结构: 图2-2-5 一旦你对文件或文件夹做了任何修改,那么文件或文件夹的显示图片机会发生变化。下图中我修改了其中的二个文件: 图2-2-7

SVN解决版本冲突问题

SVN解决版本冲突功能 1代码的分支管理策略 关于代码管理的分支和发布策略,目前主要有两种:一种是主干作为新功能开发主线,分支用作发布。另一种是分支用作新功能开发,主干作为稳定版的发布。 1.1分支用来发布 典型操作步骤如下: 1) 开发者提交所有的新特性到主干。每日的修改提交到/trunk:新特性,bug修正和其他。 2) 这个主干被拷贝到“待发布”分支。当小组认为软件已经做好发布的准备(如,版本1.0) 然后/trunk会被拷贝到/branches/1.0。 3) 项目组继续并行工作,一个小组开始对分支进行严酷的测试,同时另一个小组在/trunk继续 新的工作(如,准备2.0),如果一个bug在任何一个位置被发现,错误修正需要来回运送。 然而这个过程有时候也会结束,例如分支已经为发布前的最终测试“停滞”了。 4) 分支已经作了标记并且发布,当测试结束,/branches/1.0作为引用快照已经拷贝到/tags/1.0.0, 这个标记被打包发布给客户。 5) 分支多次维护。当继续在/trunk上为版本2.0工作,bug修正继续从/trunk运送到/branches/1.0, 如果积累了足够的bug修正,管理部门决定发布1.0.1版本:拷贝/branches/1.0到/tags/1.0.1, 标记被打包发布。 整个过程随着软件的成熟不断重复:当2.0完成,一个新的2.0分支被创建,测试、打标记和最终发布,经过许多年,版本库结束了许多版本发布,进入了“维护”模式,许多标记代表了最终的发布版本。 这种分支管理策略被广泛的应用于开源项目。比如freebsd的发布就是一个典型的例子。 freebsd的主干永远是current,也就是包括所有最新特性的不稳定版本。然后随着新特性的逐步稳定,达到一个发布的里程碑以后,从主干分出来一个stable分支。freebsd是每个大版本一个分支。也就是说4.x,5.x,6,x各一个分支。每个发布分支上只有bug修改和现有功能的完善,而不会再增加新特性。新特性会继续在主干上开发。当稳定分支上发生的修改积累到一定程度以后,就会有一次发布。发布的时候会在稳定分支上再分出来一个 release分支。以 6.x为例,就会有 6.0,6.1,6.2…等发布分支。 这种发布方法非常适用于产品线的发布管理。产品是要卖的,以前卖给客户的版本仍需要继续维护,而为了以后的市场,新功能也不断地在增加。这种管理方法对已发布产品的维护工作和下一代产品的开发工作进行了隔离。对于已经发布的产品,只有维护的补丁发布。而新发行的产品不仅包括了所有的bug修改,还包括了新功能。 这种方法具有如下缺点:首先,必须对主干上的新功能增加进行控制。只能增加下一个发布里面计划集成进去的新特性。而且,已经在主干上集成的新特性中的任何一个,如果达不到里程碑的要求,稳定分支就不能创建,这很有可能影响下一个发布的计划。开源项目可能这方面的压力小一些,但是商业产品开发如果碰到这种情况就危险了。还有一个缺点就是bug修改必须在各个分支之间合并。 从分支和合并的一些实践经验上看,各个长期存在的分支之间必须要周期性的进行合并,否则很容易引发合并冲突。可是各个stable分支以及release分支之间恰好是不能进行合并而且还要长期存在的。因此,采用这种分支策略可能碰到的最大问题就是某个分支上的bug修改内容往其它分支merge 的时候出现的冲突。而且一旦发现一个bug,调查这个bug影响哪些分支的工作会随着维护的发布分支的数量而增加。

TortoiseSVN使用教程[多图超详细]

TortoiseSVN使用简介 2009-04-24 来源:dev.idv.tw ?1.安装及下载client 端 ?2.什么是SVN(Subversion)? ?3.为甚么要用SVN? ?4.怎么样在Windows下面建立SVN Repository? ?5.建立一个Working目录 ?6.新增档案及目录到Repository中 ?7.更新档案及目录 ?8.更新至特定版本 ?9.复制档案及目录 ?10.制作Tag或是Release ?11.快速参考 o11.1取得(Checkout)Repository o11.2更新(Update)档案或目录 o11.3新增(Add)档案或目录 o11.4提交(Commit)修改过的档案或目录 o11.5Copy/T ag/Branch/Release档案或目录 安装及下载client 端 1.下载Windows 端程序:https://www.doczj.com/doc/512698843.html,/downloads。一般而言,如果是32-bit的Windows XP 应该使用 TortoiseSVN-1.4.x.xxxx-win32-svn-1.4.x.msi 这个档案。如果是64-bit 的 操作系统,则应该使用TortoiseSVN-1.4.x.xxxx-x64-svn-1.4.x.msi 这个档 案。 2.执行下载回来的TortoiseSVN 安装程序,就会进行T ortoiseSVN 的安装。 正确安装后,应该进行一次的重开机,以确保TortoiseSVN 的正确无误。 3.安装成功后,在档案管理员内按下鼠标右键,应该可以看到如右图所 示: 大部分的TortoiseSVN的操作都是透过档案管理员及鼠标右键就可以完成 了。如果您之前使用过TortoiseCVS,应该会对这种操作方式感到十分亲切。 什么是SVN(Subversion)? 有一个简单但不十分精确比喻:SVN = 版本控制+ 备份服务器 简单的说,您可以把SVN当成您的备份服务器,更好的是,他可以帮您记住每次上传到这个服务器的档案内容。并且自动的赋予每次的变更一个版本。 通常,我们称用来存放上传档案的地方就做Repository。用中文来说,有点像是档案仓库的意思。不过,通常我们还是使用Repository这个名词。基本上,第一次我们需要有一个新增(add)档案的动作,将想要备份的档案放到Repository上面。日后,当您有任何修改时,都可以上传到Repository上面,上传已经存在且修改过的档案就叫做commit,也就是提交修改给SVN server的意思。针对每次的commit,SVN server都会赋予他一个新的版本。同时,也会把每次上传的时间记录下来。日后,因为某些因素,如果您需要从Repository下载曾经提交的档案。您可以直接选择取得最新的版本,也可以取得任何一个之前的版本。如果忘记了版本,还是可以靠记忆尝试取得某个日期的版本。

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(解决冲突)

SVN冲突解决方法大全

SVN冲突解决方法大全 2010-05-27 09:33 佚名我要评论(0)字号:T | T 本文和大家一起来学习SVN冲突解决和winmerge使用手册,本文介绍了几个SVN冲突解决的方法,希望大家通过本文的学习能够掌握,欢迎大家一起来学习。 AD: 本节向大家介绍一下SVN冲突解决和winmerge使用手册问题,在学习SVN的过程中,难免会遇到SVN冲突问题,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西。 解决版本冲突的命令。在冲突解决之后,需要使用svnresolved来告诉subversion冲突解决,这样才能提交更新。冲突发生时,subversion会在WorkCopy中保存所有的目标文件版本(上次更新版本、当前获取的版本,即别人提交的版本、自己更新的版本、目标文件。假设文件名是sandwich.txt,对应的文件名分别是:sandwich.txt.r1、sandwich.txt.r2、sandwich.txt.mine、sandwich.txt)。同时在目标文件中标记来自不同用户的更改。 解决SVN冲突的办法: -手动解决:冲突发生时,通过和其他用户沟通之后,手动更新目标文件。然后执行svnresolvedfilename 来解除冲突,最后提交。 -放弃自己的更新,使用别人的更新。使用最新获取的版本覆盖目标文件,执行svnresolvedfilename并提交。 -放弃自己的更新,使用svnrevert,然后提交。在这种方式下不需要使用svnresolved。 对于svnresolved命令需要非常小心,必须是非常确定冲突已经解决才能使用。否则,会导致Subversion 以为冲突解决,而使代码库不正确。 解决冲突详细文 档:https://www.doczj.com/doc/512698843.html,/1.2/svn.tour.cycle.html#svn.tour.cycle.resolve 解决冲突(合并别人的修改) 我们可以使用svnstatus-u来预测冲突,当你运行svnupdate一些有趣的事情发生了: $svnupdate UINSTALL GREADME Cbar.c Updatedtorevision46. U和G没必要关心,文件干净的接受了版本库的变化,文件标示为U表明本地没有修改,文件已经根据版

SVN使用手册大全(史上最全)

目录 1.修改SVN访问密码 (1) 2.SVN客户端使用说明 (2) 2.1.安装SVN客户端 (2) 2.2.迁出配置库内容 (3) 2.3.维护工作文件 (4) 2.3.1.增加文件 (4) 2.3.2.更新文件 (8) 2.3.3.删除文件 (9) 2.3.4.修改文件 (10) 2.3.5.比较版本差异 (10) 2.3.6.撤销更改 (13) 2.3.7.锁定和解锁 (13) 2.3.8.重命名文件 (14) 2.3.9.获取历史文件 (14) 2.3.10.检查冲突 (15) 2.3.11.解决冲突 (16) 2.3.12.忽略无需版本控制的文件 (16) 2.3.13.去除SVN标志 (17) 2.3.14.查看文件每行的修改信息 (17) 2.3.15.重置访问路径 (18) 2.3.16.本地路径转换 (18) 2.4.浏览版本库 (18) 2.5.建立标签 (19) 2.6.建立分支 (19) 2.7.清除用户名等信息 (20) 2.8.统计信息 (21) 3.MYECLIPSE集成SVN (23) 3.1.安装SVN插件 (23) 3.2.配置M Y E CLIPSE提交目录 (28)

1. 修改SVN访问密码 打开IE,在地址栏中输入地址:http:// /svnmanager/index.php,进入SVNManager的欢迎界面,如下图所示: 点击“登陆”按钮进入登陆界面,如下图所示: 输入已知的用户名和密码,点击“登陆”按钮进入用户管理界面,点击“用户管理”按钮显示“编辑用户”菜单,如下图所示: 点击“编辑用户”按钮,进入用户信息修改界面,如下图所示:

SVN安装及使用教程

目录 1客户端安装——P1 2 SVN项目的初始化导入——P4 3基本客户端操作——P8 4 MyEclipse7. 5 SVN插件安装详细步骤--带图——P15 5 Eclipse下SVN版本控制插件的安装与使用——P30 一、SVN客户端——安装 1:双击安装文件:TortoiseSVN-1.5.5.14361-win32-svn-1.5.4.msi 2:点击下一步next

3:选择我接受那个单选框,出现Next按钮后点击下一步 4点击Browse按钮更改程序安装位置(可以不改),本人将该安装程序放在D:\Program Files\TortoiseSVN\ 点击下一步Next

5:点击Install,并耐心等待 6:几秒钟后出现以下界面

7点击Finish完成安装 因为程序要求提示是否立刻重启,重启时为了让svn工作拷贝在windows种的特殊样式生效,与所有的实际功能无关,但是这里为了立刻看到好的效果,推荐重启机器。 8:点Yes系统自动重启 二、SVN项目的初始化导入 假定:SVN在E:\chinamobile下创建了一个版本库,并且SVN已通过命令行打开,则:怎样将一个项目,初始化导入该chinabile版本库呢? 1:来到要导入的项目的根目录: C:\Documents and Settings\Administrator\桌面\catalog_20100907 该目录下有个叫catalog的项目

2:右键——TortoiseSVN——import…出现了: 3:在URL of repository:下边的框中输入svn://localhost/,如果服务器安装在其他机器,则将localhost改换成目标机器的IP地址“svn://192.168.0.145/”。如果不想再SVN版本库的根目录下放这个项目,可以在/后面加上子文件夹名,例如:“svn://localhost/zhao” 4:输入“svn://localhost/zhao”点击OK,会出现

SVN版本冲突解决详解

版本冲突原因: 假设A、B两个用户都在版本号为100的时候,更新了kingtuns.txt这个文件,A用户在修改完成之后提交kingtuns.txt到服务器,这个时候提交成功,这个时候kingtuns.txt文件的版本号已经变成101了。同时B用户在版本号为100的kingtuns.txt文件上作修改,修改完成之后提交到服务器时,由于不是在当前最新的101版本上作的修改,所以导致提交失败。 版本冲突现象: 冲突发生时,subversion会在当前工作目录中保存所有的目标文件版本[上次更新版本、当前获取的版本(即别人提交的版本)、自己更新的版本、目标文件]。 假设文件名是kingtuns.txt 对应的文件名分别是: kingtuns.txt.r101 kingtuns.txt.r102 kingtuns.txt.mine kingtuns.txt。同时在目标文件中标记来自不同用户的更改。 版本冲突解决: 场景: 1、现在A、B两个用户都更新kingtuns.txt文件到本地。

2、文档中原始文件内容如下: 3、A用户修改文件,添加内容“A用户修改内容”完成后提交到服务器

4、B用户修改文件,添加内容“B用户修改内容”完成后提交到服务器

B用户提交更新至服务器时提示如下: B用户将文件提交至服务器时,提示版本过期:首先应该从版本库更新版本,然后去解决冲突,冲突解决后要执行svn resolved(解决),然后在签入到版本库。在冲突解决之后,需要使用svn resolved(解决)来告诉subversion冲突解决,这样才能提交更新。 解决冲突有三种选择: A、放弃自己的更新,使用svn revert(回滚),然后提交。在这种方式下不需要使用svn resolved (解决) B、放弃自己的更新,使用别人的更新。使用最新获取的版本覆盖目标文件,执行resolved filename并提交(选择文件—右键—解决)。 C、手动解决:冲突发生时,通过和其他用户沟通之后,手动更新目标文件。然后执行resolved

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/Knowledge 2:其中,意思是,检出文档是放在D盘的根目录下,是检出文档的存放位置,如下图:

2、update 获取版本库中最新版本,具体的方法是:在WC目录上单击右键,SVN Update。 这时WC中的文件就是最新的版本了。 3、commit commit功能就是将你本地的文件修改记录上传到服务器上面,可以理解为上传。 只会上传原先checkout然后又被修改了的文件,假如你新加入了某些文件,需要右键点击文件选择Add,然后文件上面会出现一个加号,在下次commit的时候才能选到该文件。commit页面:

注意:commit的时候,最好填写Log信息, Log内容包括:修改了哪些东西及为什么做这些修改(what+why) 强制必须录入log: property 中设置录入log最小长度,此时commit必须录入log,否则不允许提交. 设置录入log最小长度页面:

svn冲突的产生与解决

svn 冲突的产生与解决 1、如何产生冲突 当开发人员A和开发人员B从版本库同时检出文档1.txt,而A和B同时修改了1.txt的同一地方,后提交的一方会在拷贝副本中产生冲突。 两个工作拷贝,A拷贝中文件1.txt内容为 dfqerq 123dfwre B拷贝中文件1.txt内容为 dfqerq 123erwrq 在B版本提交之前版本库上的1.txt(base版本)内容为 dfqerq B拷贝先提交版本到版本库中,以至于最新版本内容变为 dfqerq 123erwrq 此时A版本也提交则会产生冲突,无法提交,需要先svn update,此时会在A 拷贝中产生三个临时文件1.txt.rNew\1.txt.rOld\1.txt.mine,其中1.txt.rNew是最新版本,1.txt.rOld是base版本,1.txt.mine是A作者修改后的版本,在此例中内容为 dfqerq 123dfwre 而update之后A拷贝中的1.txt内容为

<<<<<<< .mine dfqerq 123dfwre======= dfqerq 123erwrq>>>>>>> .r18 其中<<<<<<< .mine与=======之间表示A修改后的内容,=======与>>>>>>> .r18之间是版本服务器上的版本 2、解决冲突 第一种,利用update的选项进行冲突解决,也就是说不管当前拷贝副本是否是最新版本,都使用—accept参数作为冲突处理方式 –accept ARG : specify automatic conflict resolution action (?postpone‘, ?base‘, ?mine-conflict‘, ?theirs-confl ict‘, ?mine-full‘, ?theirs-full‘, ?edit‘, ?launch‘) (p) postpone – mark the conflict to be resolved later //让文件在更新完成之后保持冲突状态。 (df) diff-full – show all changes made to merged file //使用标准区别格式显示base修订版本和冲突文件本身的区别。 (e) edit – change merged file in an editor //用你喜欢的编辑器打开冲突的文件,编辑器是环境变量EDITOR设置的。 (r) resolved – accept merged version of file //完成文件编辑之后,通知svn 你已经解决了文件的冲突,它必须接受当前的内容—从本质上讲就是你已经―解决了‖冲突。 (mf) mine-full – accept my version of entire file (ignore their change//丢弃新从服务器接收的变更,并只使用你查看文件的本地修改。 (tf) theirs-full – accept their version of entire file (lose my changes)//丢弃你对查看文件的本地修改,只使用从服务器新接收的变更。 (l) launch – launch external tool to resolve conflict//启动一个外置程序来执行冲突解决,这需要一些预先的准备。 (h) help – show this list //显示所有在冲突解决时可能使用的命令。

Windows下svn客户端TortoiseSVN的安装和操作

TotoiseSVN的基本使用方法 一、签入源代码到SVN服务器 假如我们使用Visual Studio在文件夹StartKit中创建了一个项目,我们要把这个项目的源代码签入到SVN Server上的代码库中里,首先右键点击StartKit文件夹,这时候的右键菜单如下图所示:https://www.doczj.com/doc/512698843.html, 图2-2-1 https://www.doczj.com/doc/512698843.html, 点击Import,弹出下面的窗体,其中https://www.doczj.com/doc/512698843.html, 是服务器名,svn是代码仓库的根目录,StartKit是我们在上个教程中添加的一个代码库: https://www.doczj.com/doc/512698843.html, 说明:左下角的CheckBox,在第一次签入源代码时没有用,但是,在以后你提交代码的时候是非常有用的。Svn中文网 图2-2-2 https://www.doczj.com/doc/512698843.html,

参考资料:https://www.doczj.com/doc/512698843.html, 点击OK按钮,会弹出下面的窗体,要求输入凭据:https://www.doczj.com/doc/512698843.html, 图2-2-3 Svn中文网 https://www.doczj.com/doc/512698843.html, 在上面的窗体中输入用户名和密码,点击OK按钮:参考资料:https://www.doczj.com/doc/512698843.html,

图2-2-4 Svn中文网 参考资料:https://www.doczj.com/doc/512698843.html, 如上图所示,好了,源代码已经成功签入SVN服务器了。这时候团队成员就可以迁出SVN 服务器上的源代码到自己的机器了。 https://www.doczj.com/doc/512698843.html, 二、签出源代码到本机 在本机创建文件夹StartKit,右键点击Checkout,弹出如下图的窗体:https://www.doczj.com/doc/512698843.html, 图2-2-5 https://www.doczj.com/doc/512698843.html,

在上图中URL of Repository:下的文本框中输入svn server中的代码库的地址,其他默认,点击OK按钮,就开始签出源代码了。 https://www.doczj.com/doc/512698843.html, 说明:上图中的Checkout Depth,有4个选项,分别是迁出全部、只签出下一级子目录和文件、只签出文件、只签出空项目,默认的是第一项。上面的例子中,我们也可以使用web 的方式访问代码库,在浏览器中输入https://www.doczj.com/doc/512698843.html,/svn/StartKit/ 参考资料:https://www.doczj.com/doc/512698843.html, 这时候也会弹出对话框,要求输入用户名和密码,通过验证后即可浏览代码库中的内容。https://www.doczj.com/doc/512698843.html, https://www.doczj.com/doc/512698843.html, 搞定!源代码已经成功签出到刚才新建的StartKit目录中。https://www.doczj.com/doc/512698843.html, 打开StartKit目录,可以看到如下图的文件夹结构: https://www.doczj.com/doc/512698843.html, 图2-2-5 https://www.doczj.com/doc/512698843.html, 参考资料:https://www.doczj.com/doc/512698843.html, 一旦你对文件或文件夹做了任何修改,那么文件或文件夹的显示图片机会发生变化。下图中我修改了其中的二个文件:https://www.doczj.com/doc/512698843.html, 图2-2-7 https://www.doczj.com/doc/512698843.html,

【黑马程序员】svn conflict 冲突解决

【黑马程序员】svn conflict 冲突解决 1. 同一处修改文件冲突 开发人员都知道代码管理工具是开发中一个必不可少的工具,这里也不废话详细介绍了。不管你个人喜欢git还是svn还是其他,但还有一大部分公司在使用svn做代码管理工具。这里详细介绍下SVN提交文件时冲突问题的解决方式。 假设A、B两个用户,他们分别从svn服务器中检出了test1.txt文件,此时A、B、服务器三个地方的test1.txt的版本都是13(我测试环境的当前svn 赋予的版本号)。A、B文件的内容如下图(左A右B):· 接下来,B用户添加一句话并提交,内容如下:

此时B用户和服务器的test1.txt的版本都变为14,只有A用户的test1.txt的版本还为13。接下来A用户添加一句“aa”,然后提交 由于A用户是在13版本上做的修改,而服务器已经是14版本了,所以会提交失败:

接下来就是我们要解决的问题了,解决方法分为以下两种方式。第一种方式:提交失败后直接选择revert,省去了解决冲突问题;第二种方式:提交失败后选择更新文件,这时会有冲突问题。详细介绍如下:1.1. 解决方式一 A放弃自己修改的内容,进行Revert操作,使其test1.txt成为13版本的最初内容。然后update 使其test1.txt成为14版本,再在14版本上修改提交。操作如下图:

==》 ==>然后再修改提交 1.2. 解决方式二 因为版本过时,提交失败后。A用户直接选择更新操作,结果如下图所见

(这里声明下,不要被文件显示的图标所迷惑,这是其他软件对它做了关联导致的,没啥影响)这里详细说一下产生冲突后的这几个文件,: test1.txt.mine---这个文件是A用户在13版本中做了修改要提交的文件。它的内容是:13版本内容+A用户的修改 test1.txt.r13----这个文件是A用户最初的13版本的test1.txt。它的内容是:13版本内容test1.txt.r14----这个文件时svn服务器中test1.txt的最新版本,这里既是B用户提交后的14版本。它的内容是:13版本内容+B用户的修改test1.txt--------由于A用户选择了直接更新,此文件就是svn将最新版本14 与A用户的修改合并后的文件。它的内容如下:

SVN客户端使用简要教程

文件版本控制工具SVN-Client简要教程 免安装浏览文件步骤: 1、打开浏览器,输入如下地址:https://218.107.242.90:9374/svn/jnzl/ 注:若浏览器出现安全警告提示,请略过此提示,继续进入即可。 2、输入您的帐号和密码,即可登录进入SVN服务器。 注:公共帐号为:jnzl/jnzl 3、浏览你需要的文件,点击下载即可。 (一)客户端安装步骤 1、安装SVN-Client端程序。 下载地址:https://218.107.242.90:9374/svn/jnzl/tools/svn-client.msi 注:输入您的帐号和密码,即可进行登录下载。 2、安装后,创建一个新目录,在新目录下点击右键,在弹出的菜单中选择SVN Checkout, 如右图所示: 3、在弹出的窗口中,在URL of repository中输入SVN服务器的地址信息: https://218.107.242.90:9374/svn/jnzl/ ,如下图所示:

输入完毕后点击OK按钮即可。 (二)更新文件操作步骤 1、在SVN目录下,点击右键,在弹出的菜单中选择SVN Update,如下图: 2、更新完毕后点击OK按钮即可完成更新。 (三)修改文件操作步骤 1、为了避免文件版本的冲突,在修改文件之前,一定要先进行文件更新操作。 2、在目录中修改文件后,该文件的图标将发生变化,由绿色变成红色。如图所示: 修改前:修改后: 3、在变红的文件上,点击右键,在弹出的菜单中选择:SVN Commit,如下图:

4、在弹出的窗口中,输入本次修改的备注。如下图: 5、输入完毕后,点击OK按钮即可。 (四)新增文件步骤 1、在目录下新建一个文件后,该文件图标即变为蓝色的问号样式,如下图: 2、在目录的空白处,点击右键,在弹出的菜单中,选择SVN Commit,如下图:

SVN冲突解决

解决版本冲突的命令。在冲突解决之后,需要使用svn resolved来告诉subversion冲突解决,这样才能提交更新。冲突发生时,subversion会在Work Copy中保存所有的目标文件版本(上次更新版本、当前获取的版本,即别人提交的版本、自己更新的版本、目标文件。假设文件名是sandwich.txt,对应的文件名分别是:sandwich.txt.r1、sandwich.txt.r2、sandwich.txt.mine、sandwich.txt)。同时在目标文件中标记来自不同用户的更改。 解决冲突的办法: - 手动解决:冲突发生时,通过和其他用户沟通之后,手动更新目标文件。然后执行svn resolved filename来解除冲突,最后提交。 - 放弃自己的更新,使用别人的更新。使用最新获取的版本覆盖目标文件,执行svn resolved filename并提交。 - 放弃自己的更新,使用svn revert,然后提交。在这种方式下不需要使用svn resolved。 对于svn resolved命令需要非常小心,必须是非常确定冲突已经解决才能使用。否则,会导致Subversion以为冲突解决,而使代码库不正确。 解决冲突详细文档: https://www.doczj.com/doc/512698843.html,/1.2/svn.tour.cycle.html#svn.tour.cycle.resolve 解决冲突(合并别人的修改) 我们可以使用svn status -u来预测冲突,当你运行svn update一些有趣的事情发生了: $ svn update U INSTALL G README C bar.c Updated to revision 46. U和G没必要关心,文件干净的接受了版本库的变化,文件标示为U表明本地没有修改,文件已经根据版本库更新。G标示合并,标示本地已经修改过,与版本库没有重迭的地方,已经合并。 但是C表示冲突,说明服务器上的改动同你的改动冲突了,你需要自己手工去解决。当冲突发生了,有三件事可以帮助你注意到这种情况和解决问题: ●Subversion打印C标记,并且标记这个文件已冲突。 ●如果Subversion认为这个文件是可合并的,它会置入冲突标记—特殊的横线分开 冲突的“两面”—在文件里可视化的描述重叠的部分(Subversion使用svn:mime- type属性来决定一个文件是否可以使用上下文的,以行为基础合并,更多信息可以看“svn:mime-type”一节)。 ●对于每一个冲突的文件,Subversion放置三个额外的未版本化文件到你的工作拷 贝: ●filename.mine ●你更新前的文件,没有冲突标志,只是你最新更改的内容。(如果Subversion认 为这个文件不可以合并,.mine文件不会创建,因为它和工作文件相同。) ●filename.rOLDREV

中国SVN源代码托管中心_svn_使用教程

中国SVN源代码托管中心- https://www.doczj.com/doc/512698843.html, 使用帮助文档 让我们从零开始,Step By Step地尝试使用Svn Hosting及Subverson这个超级工具来革新我们的开发流程。 第一步,注册帐号并新建项目 1. 首先你需要先注册一个Svn Hosting的帐号并成功激活; 2. 登录后,点击“我的项目”,在里面新建一个项目; 3. 新建成功后,点击该项目的详细页,复制“SVN地址”的链接。 第二步,checkout 1. 下载和安装SVN的客户端TortoiseSVN,安装完成后不需要重启,但重启完可以看到资源管理器里文件夹图标的更新。

2. 从Svn Hosting上Checkout源代码-TortoiseSVN是一个资源管理器的插件,安装完成以后,鼠标右键点任何文件夹或者桌面都有TortoiseSVN 的菜单项。选择SVN Checkout,如下图示:

3. 填写源代码的SVN路径和本地文件夹。就是刚刚你在Svn Hosting上新建的那个项目,复制下来的那个地址。 例如,源代码路径是https://www.doczj.com/doc/512698843.html,/svn/test_-这个是我在SVN Hosting上建立的一个测试项目。

4. 然后他会提示你输入帐户,密码,将你在SVN Hosting注册的帐号和密码填上就OK。 第三步,把你的程序源码放入源码库 1. 你是不是发现checkout下来的目录空空如也,如果你打开这个目录,你会发现除了一个.svn的隐藏目录,空空如也。是的,这是正常的。.svn 目录用来记录你所有的操作记录,以一种不可思议的纪录方式。 图4:checkout finished后

SVN解决冲突如果你想彻底删除不使用垃圾箱在点击删除时请按着Shift键

SVN解决冲突(如果你想彻底删除(不使用垃圾箱),在点击删除时,请按着Shift键) 解决冲突 偶尔,当你从版本库更新、合并文件时,或者切换工作副本至一个不同的URL 时你会遇到冲突。有两种冲突: 文件冲突 当两名(或更多)开发人员修改了同一个文件中相邻或相同的行时就会发生文件冲突。 树冲突 当一名开发人员移动、重命名、删除一个文件或文件夹,而另一名开发人员也对它们进行了移动、重命名、删除或者仅仅是修改时就会发生树冲突。 文件冲突 当两名或更多开发人员修改了同一个文件中相邻或相同的行时就会发生文件冲突。由于 Subversion 不知道你的项目的具体情况,它把解决冲突的工作留给了开发人员。一旦出现冲突,你就应该打开有问题的文件,查找以字符串<<<<<<<开头的行。有冲突的区域用如下的方式标记: <<<<<<< 文件名 你的修改 ======= 合并自版本库中的代码 >>>>>>> 版本 对于每个冲突的文件 Subversion 在你的目录下放置了三个文件: 文件名. 这是你的文件,在你更新你的工作副本之前存在于你的的工作副本中——也就是说,没有冲突标志。这个文件除了你的最新修改外没有别的东西。 文件名.旧版本 这是在你更新你的工作副本之前的基础版本(BASE revision)文件。也就是说,它是在你做最后修改之前所检出的文件。 文件名.新版本 这个文件是当你更新你的工作副本时,你的 Subversion 客户端从服务器接收到的。这个文件对应于版本库中的最新版本。

你可以通过TortoiseSVN → 编辑冲突运行外部合并工具/冲突编辑器,或者你可以使用任何别的编辑器手动解决冲突。你需要冲定哪些代码是需要的,做一些必要的修改然后保存。 然后,执行命令TortoiseSVN → 已解决并提交人的修改到版本库。需要注意的是已解决命令并不是真正的解决了冲突,它只是删除了和两个文件,允许你提交修改。 如果你的二进制文件有冲突,Subversion不会试图合并文件。本地文件保持不变(完全是你最后修改时的样子),但你会看到文件。如果你要撤消你的修改,保留版本库中的版本,请使用还原(Revert)命令。如果你要保持你的版本覆盖版本库中的版本,使用已解决命令,然后提交你的版本。 你可以右击父文件夹,选择TortoiseSVN → 已解决...,使用“已解决”命令来解决多个文件。这个操作会出现一个对话框,列出文件夹下所有有冲突的文件,你可匝≡窠男┍昙浅梢呀饩觥 树冲突 当一名开发人员移动、重命名、删除一个文件或文件夹,而另一名开发人员也对它们进行了移动、重命名、删除或者仅仅是修改时就会发生树冲突。有很多 种不同的情形可以导致树冲突,而且不同的情形需要不同的步骤来解决冲突。 当一个文件通过 Subversion 在本机删除后,文件也从本机文件系统中删除。因此即使它是树冲突的一部分,却既不能显示冲突的叠加图标也不能通过右键单击来解决冲突。使用检查修改对话框来获得编辑冲突选项。 TortoiseSVN 能够协助找到合并更改的正确位置,但是需要作一些额外的工作来整理冲突。请牢记: 当进行一次更新操作后,工作副本的基础文件将会包括每一个项目在执行更新操作时版本库中的版本。如果你在进行更新后再撤销更改,工作副本将返回到版本库的状态,而不是你开始进行更改前的状态。 . 本地删除,当更新时有更改进入 开发人员 A 修改并将其提交至版本库中 开发人员 B 同时在他的工作副本中将文件改名为,或者仅仅是删除了或它的父文件夹。 更新开发人员 B 的工作副本会导致树冲突: 在工作副本中,被删除了,但是被标记为树冲突。

相关主题
文本预览
相关文档 最新文档