svn使用说明

一点一滴成长 一点一滴成长     2022-08-27     495

关键词:

一、SVN版本

Windows下SVN有好几个版本,如下图,最好使用VisualSVN服务端和TortoiseSVN客户端搭配使用,下载地址:http://subversion.apache.org/packages.html。

二、服务端VisualSVN

1、安装VisualSVN-Server(最好以管理员身份安装)
2、启动VisualSVN Server Manager(最好以管理员身份运行)
3、新建Repository版本仓库:右击Repositories->新建->Repository->输入仓库名->确认,然后我们可以在版本仓库里新建目录。比如下图中我们有三个版本库:C_PLUS_PLUS, DOTNET, JAVA,在C_PLUS_PLUS仓库里又建立了三个目录:yd_client、yd_server、yd_tools,在目录里还可以新建目录。


4、新建用户:右击Users->新建->User->输入用户名和密码
5、新建组:右击Groups->新建->Group->输入组名,点击Add向组添加用户
6、为用户设置权限:右击仓库或目录->Properties->Security->点击Add后向这个版本库增加用户和设置用户权限
7、使用客户端来向服务端导入(Import)新的项目

三、客户端TortoiseSVN

1、安装TortoiseSVN和简体中文语言包(最好以管理员身份安装)

2、向服务端导入项目:客户端电脑中右击想要上传的目录->SVN->Import导入->输入版本库路径(服务器中右击版本库名称选择Copy URL to Clipboard可获得)->输入用户名和密码。(如果上传失败可以把服务端主机名换成IP地址试试或检查防火墙)

3、从服务器检出项目:向服务端导入项目后还需要从服务器checkout检出这个项目,右键->SVN checkout(检出)。
4、其它用户首次使用的话也需要先检出指定的项目。

5、当修改了代码后可以进行commit提交,右键目录中空白->提交->弹出的对话框会自动选择所有改动了的文件,我们可以再进行筛选。如果其它用户在你之前提交了相同文件的代码的话此时提交会失败,因为你必须先update更新代码,更新完代码后再进行提交。

6、查看需要更新的文件及其更改的内容:项目目录下右击->SVN->显示日志,可以看到本地当前版本8是以黑体加粗显示的,而最新版本是其它人提交的版本10,我们可以点击其它人提交的版本,然后在下面就会显示他提交的文件。我们可以右击其他人提交的版本,选择“与工作副本比较”以查看指定版本与本地文件的差异。还可以右击其他人提交的版本,选择“与前一版本比较差异”来查看与上一个版本文件的差异。

如果我们想要查看指定文件与服务器上的差异,可以右击文件->显示日志->选择最新的版本右击->与工作副本比较。

如果我们想要查看本次修改了的文件与我们上一次提交的文件之间的差异,可以直接右击修改的文件选择比较差异。

7、解决冲突:commit提交代码的时候可能会提示conflict冲突失败,我们选择升级工作副本,然后右击文件,先选择与基础版本比较,如下图,可以看到<<<<<<<.mine下面为当前本地内容,即当前修改的内容,|||||||.r16下面为上一版本(版本号16)的内容,即修改之前的内容,=======下面>>>>>>>.r17上面为当前版本(版本号17)的内容,即服务器上的内容。

  

然后我们右击冲突文件,选择编辑冲突,如下图,分为三块:远程文件、本地文件、已合并,其中等于号中的内容为修改前内容,加号中为修改的内容,可以右击选择使用此文本块或文件来解决冲突,我们也可以退出,然后自己在编辑器中修改文件,然后提交的时候先选择已解决,然后再提交。

如果提交的时候发生冲突,并且我们希望直接使用服务器上的代码的话,可以右键点击冲突文件,选择Revert还原,表示舍弃自己的修改,然后再进行提交。

8、当本地文件修改了后,我们右击文件选择SVN更新的话如果服务器上没有新的更新版本的话是不会更新文件的,当服务器上的文件有了新的版本才会更新文件。更新文件后可能产生冲突,我们可以右击文件->SVN->编辑冲突。

9、添加文件:有两种方法,一个方法是右击选择Add增加,这样先提到变更列表中,在commit提交的时候选择添加的文件进行提交
10、删除文件:与添加文件类似,右击文件->SVN->delete删除,在commit提交的时候选择删除的文件进行提交
11、重命名文件:与删除文件类似。

12、还原文件:右击文件->SVN->Update to reversion更新至版本->输入版本号。如果想要还原全部文件的话,右击空白->SVN->show log->选择指定版本右键->revert to this version还原到此版本

13、在输入用户名、密码时候有一个Save authentication(保存认证)选项,默认是自动勾选的,当下次导入的时候会自动使用上次的用户而不用再输入用户名和密码。如果需要切换用户的话:点击Setting(设置)->Saved Data(已保存数据)->Authentication data(认证数据)->Clear(清除)

14、Update item to revision 更新到此版本:本地文件恢复到指定的N版本,show log可以看到现在位于第N次提交,右键选择提交的话可以看到当前没有任何修改(全绿),所以不能提交。

        Revert to this revision 复原到此版本:本地文件恢复到指定的N版本,show log可以看到现在并不是位于第N此提交而是原来的最新提交,右键选择提交的话可以看到当前有修改(红色),可以提交。

        Revert changes from this revision 复原此版本作出的修改:本地文件撤销指定N版本(也可以选择多个版本)的修改,show log可以看到现在并不是位于第N此提交而是原来的最新提交,本地代码显示改动(红色)。适用情况:比如中间的一次或几次提交 错了,就可以抹杀这几次提交,修改正确后再次提交。

四、主干trunk与分支branches

1、在我们开发完成一个项目并上线发布版本后,此时在原项目上又有新的需求,如果我们接着在原项目上开发,而开发的时候在发布的版本上出现了BUG的话,想要修改BUG但现在项目已经不是发布时候的那个了。为了避免这种问题,我们在开发新需求之前可以生成项目的一个分支(可以说是项目的一个备份),然后我们可以继续在项目上(我们成为主干)开发新的需求,而如果原来发布的项目中途发现有BUG或需要修改一些功能的话就可以在分支上进行开发修改,两边都不会影响谁。还可以合并主线和分支代码,最后在分支不需要的时候可以删除它。

2、在SVN服务端我们的仓库中新建工程目录的时候我们可以选择project structrue类型,这个时候项目目录总会自动生成三个目录:trunk、branches和tags,我们一般将工程主线放到trunk主线中,将分支放到branches中,tags目录一般是只读的,可以存储阶段性的发布版本,作为一个里程碑的版本进行存档。

3、创建分支:右击本地trunk目录->SVN->branch/Tag分支/标记,在To path中我们选择将分支保存在服务端的branches目录的一个新目录branch_1,即/project_name/branches/branch_1在服务器端上创建好分支后,我们进入本地branches目录,右键选择checkout或update在本地获得分支。

4、合并主干和分支

    合并分支上提交的修改到主干:在主干目录或文件右键选择SVN->合并->合并一个版本范围->合并的源选择分支目录或文件,默认合并的修改范围为分支所有提交版本的修改,也可以指定仅合并指定版本的修改,比如选择最新提交的版本的话即为仅合并分支上最新版本修改的内容。

    合并主干上提交的修改到分支:流程与上面的类似,只不过是在分支目录或文件上右键选择SVN->合并。

    在合并的时候可以看到还有一种类型:“合并两个不同的树”,这种类型合并的不仅是某个树的修改,而且包含两个版本之间的差异。合并的时候以“结束”的版本为为主,即二者有差异的地方,“起始”版本的内容会被放弃。

五、SVN常见图标说明

绿色对勾:本地没有修改,与上次提交内容相同
红色叹号:本地代码有改动,还未进行提交
蓝色问号:目录中新添加的文件
蓝色加号:已被add但还未提交
黄色叹号:文件有冲突

六、MFC里的特殊文件

.rc 是资源文件,比如我们在资源视图下对对话框做了修改那么就会修改这个文件,所以应该对这个文件进行提交。

.vcxproj 是项目属性文件,当我们对项目属性修改了后应该提交这个文件。

.vcxproj.filters 是目录文件,当我们向项目添加了文件或筛选器就应该提交这个文件。

 

引用和参考出处:http://www.cnblogs.com/armyfai/p/3985660.html

 

git-svn 使用啥 svn 客户端?

】git-svn使用啥svn客户端?【英文标题】:Whatsvnclientdoesgit-svnuse?git-svn使用什么svn客户端?【发布时间】:2014-05-1301:05:53【问题描述】:我一直在使用一个旧的svn存储库,它有一堆1.4.4客户端正在使用中。我想再次开始使用git(主... 查看详情

svn详细配置与使用——一步步教会您使用

...作用,而对于初学者来说学习有一定的难度,且不说如何使用,就是搭建过程恐怕也要费一般周折,介于此下面就通过图解的方式一步一步详细的教大家如何使用SVN,你只要耐心的一步步去实践就能掌握目录:一、SVN介绍二、SVN... 查看详情

java使用svn详细步骤

  ?????????????????????SVN的使用  SVN服务器使用原理图    ?????????????????????SVN的使用  1.将SVA服务器安装完毕  a)?启动SVN服务器--开始菜单―找到SVN―单击  b)?创建一个数据仓库―CreateNewRepository(注意访问权限读和写)... 查看详情

svn使用说明

一、SVN版本Windows下SVN有好几个版本,如下图,最好使用VisualSVN服务端和TortoiseSVN客户端搭配使用,下载地址:http://subversion.apache.org/packages.html。二、服务端VisualSVN1、安装VisualSVN-Server(最好以管理员身份安装)2、启动VisualSVNServerMa... 查看详情

svn使用

svn--version svnlist   下载代码:svn checkout http://svn.server.com/svn/project_repo[--username=tom] 新建分支:方法1:svncopytrunkbranchs/new_branch_namesvncommit-m"commitinfo"方法 查看详情

svn钩子的使用案例

svn钩子的使用案例我在这一篇博文http://lidaxia.blog.51cto.com/11588738/1928773中提到,svn钩子脚本是svn非常实用重要的功能,在工作中,会经常需要用到svn钩子脚本以实现除了svn自带功能之外的附加功能,那么这一篇博文,我们就举例... 查看详情

unbuntu下使用svn

...对应的仓库ps-ef|grepsvn 三、创建仓库repos并开启服务(使用3691端口,默认为3690)mkdir-p/opt/svn/repossvnadmincreate/opt/svn/repossvnserve-d-r/op 查看详情

用cornerstone配置svn,http及svn简单使用说明

摘要:CornerStone是MacOSX系统下非常好用的一款svn工具,至XCode5之后,本人觉得XCode5的Svn实在让人不得要领,而CornerStone配置虽不难,但也有几个需要注意的地方,分享给大家,也希望大家能多提意见声明:CornerStone是付费版128人民... 查看详情

svn使用笔记

...端控制,不能继续进行update、commit操作。SVNurl:局域网内使用计算器名公网使 查看详情

svn使用

项目svn从一个地址换到了另一个地址,现在需要把项目关联到另一个svn地址上去。1、右键点击项目->team(orsvn)->断开连接->选择“并且从文件系统中删除svn元信息”2、右键点击项目->team(orsvn)->shareproject->SVN->选中新... 查看详情

svn的使用

这篇主要介绍下svn钩子的使用,svn的安装以及配置等能够查看svn的使用(一)我们能够在svn创建的仓库目录下看到hooks目录。这里面就存放这个各种svn操作同一时候会运行的脚本文件。(你能够自己查看每一个脚本文件,文件開... 查看详情

mac下svn的使用---cornerstone来使用svn

  前言这里只介绍使用CornerStone来使用SVN。CornerStone是MacOSX系统下非常好用的一款svn工具,当然还有Versions也是可以用的,但是使用起来不如CornerStone好用。声明:CornerStone是收费,如果是公司需要使用到,建议让公司购买... 查看详情

svn的下载与安装,以及使用

svn的安装使用说明  查看详情

使用svn客户端(windows)

...端环境参考:https://www.cnblogs.com/pzk7788/p/9446424.html这里我使用一台云服务器(139.xxx.xxx.89)作为SVN服务端,使用Windows主机(192.168.5.143)作为SVN客户端如果使用SVN客户端:1、去官网下载并安装SVN:https://tortoisesvn.net/2、在D盘创建一... 查看详情

02~一步一步教你使用svn之svn的介绍

...面的课程中介绍服务器如何去安装和配置3.客户端软件的使用:在实际开发中,使用客户端软件来操作SVN也变得很常见,也是项目经理或者技术总监经常会使用到的工具,主要是为了初始化项目,以及忽略一些不需要上传的文件,后面的... 查看详情

如何使用 SVN 忽略目录?

】如何使用SVN忽略目录?【英文标题】:HowdoIignoreadirectorywithSVN?【发布时间】:2010-09-1201:53:05【问题描述】:我刚开始使用SVN,并且我有一个在源代码管理下不需要的缓存目录。如何使用SVN忽略整个目录/文件夹?我在OSX和命令... 查看详情

svn的安装和使用

...,远程库一次);  (4)GitHub适用于分布式开发,SVN使用于集中式开发;  (5)就操作难易程度而言,SVN要比GitHub方便得多;就代码管理而言,GitHub更优 查看详情

Git svn 不使用 svn 凭据

】Gitsvn不使用svn凭据【英文标题】:Gitsvndoesnotusethesvncredentials【发布时间】:2017-07-2119:51:09【问题描述】:我尝试从我们的svn存储库中克隆一个路径。存储库受密码保护。我在我的Windows10系统上找到了一些颠覆目录并为它们创建... 查看详情