项目管理版本控制SVN实践教程

合集下载

TortoiseSVN(版本控制系统)使用手册

TortoiseSVN(版本控制系统)使用手册
2.3.11
在将你的项目导入到版本库之前,你应该:删除所有不需要的文件(如:临时文件,编译器产生的文件等)组织好目录和子目录内的文件。
然后进入资源管理器,选择你的项目的顶层目录,鼠标右键选择TortoiseSVN->导入,如下图:
在如下对话框中,输入你的项目导入到版本库的URL。
导入信息里面输入的内容将作为提交日志。
注:默认的目标URL将会是你当前工作副本所处的源URL。你必须给你的分支/标记编辑一个新路径来取代。如果你忘记了你上一次使用的命名约定,可以用鼠标右键打开版本库浏览器来察看已经存在的版本库结构。
还需要选择复制到版本库的位置。在这里你有三个设置选项:
a)版本库中的最新版本
新分支直接从版本库中的最新版本里复制出来。不需要从你的工作副本中传输任何数据,这个分支的建立是非常快的。
这个图标表示当前文件夹下的某些文件或文件夹已经被计划从版本控制中删除,或是该文件夹下某个受控的文件丢失了。
加号告诉你有一个文件或是目录已经被计划加入版本控制。
这个图标表示文件或文件夹被版本控制忽略。
这个图标表示文件或文件夹没有被版本控制,操作后会覆盖之前的内容。
2.2
Subversion有许多特性,选项和华而不实的高级功能,但日常的工作中你只使用其中的一小部分,在此会介绍许多你在日常工作中常用的命令。
2.3.4
在未提交之前,你对前面做的操作反悔了,可以使用TortoiseTSVN->SVN还原来恢复
这时会弹出一个提示框,让你选择需要还原哪几个步骤,选好确定后即可以还原。如下图:
2.3.5
修改文件名,不能直接用Windows的重命名命令来操作,必须选中你要重命名的文件,然后右键TortoiseSVN->改名。如下图所示:

SVN使用流程范文

SVN使用流程范文

SVN使用流程范文SVN(Subversion)是一个开源的版本控制系统,用于管理和追踪项目的变化。

在软件开发过程中,版本控制系统是一项非常重要的工具,它能够记录代码的修改历史,并允许多个开发人员在同一时间协同工作。

接下来,将介绍SVN的使用流程。

一、安装SVN二、创建存储库在命令行中通过svnadmin create命令创建存储库,例如:svnadmin create /var/svn/myproject这个命令会在指定的路径下创建一个名为myproject的存储库。

三、导入项目接下来,需要将项目的代码导入到SVN存储库中。

使用svn import 命令,例如:svn import /path/to/myproject file:///var/svn/myproject -m "Initial import"这个命令会将本地的项目代码导入到SVN存储库中,并指定了一个提交信息。

四、检出代码检出操作类似于将代码从存储库中复制到本地开发环境中。

使用svn checkout命令,例如:svn checkout file:///var/svn/myproject /path/to/working/copy 这个命令会将存储库中的代码复制到指定的路径,建立一个工作副本。

五、修改代码六、提交修改这个命令会将修改的代码提交到存储库,并指定了一个提交信息。

七、更新代码在团队协作开发中,可能会有其他开发人员对同一个代码进行修改。

为了保持代码的同步,需要使用svn update命令来更新本地的工作副本,例如:svn update /path/to/working/copy这个命令会将其他人提交到存储库的修改合并到本地的工作副本中。

八、解决冲突svn resolved /path/to/working/copy/file.cpp九、分支和合并在一些情况下,可能需要创建分支来开发新的功能或修复错误,以免影响主干(trunk)的稳定性。

Svn版本管理教程

Svn版本管理教程

用subversion(SVN)进行版本管理老是给别人讲svn,花时间太多,近来无事,就写了subversion的版本管理技巧,基本的没多讲,只捡重要的写了一下,以便一劳永逸,希望有用。

好难编辑,终于搞完了...版本管理约定程序员编写程序的过程中,每个程序都会有很多不同的版本,这就需要程序员很好的管理代码,在需要的时间可以取出需要的版本,并且每个版本都有一个完整的说明。

我们使用Sub Version(简称SVN)作为版本管理工具。

这里着重介绍SVN作为跨平台的多人协作使用方法。

在多个程序员管理同一段代码的过程中,版本的管理显得尤为重要,使用SVN可以方便的进行分支、合并,记录下所有的版本。

SVN基本配置在开始某项软件、文档的开发与撰写时,首先由配置管理负责人建立SVN仓库、用户名及其权限,并通知相关人员SVN仓库地址、SVN仓库负责人。

配置强制注释SVN仓库的负责人把工程的tsvn:logminisize设置为1,以便强制注释。

设置方法:在你的工程文件夹右键->属性中,进入 Subversion标签,选中tsvn: logminisize,确保复选框recursive 选中,然后点击Set按钮把它的值设为1,其意思是指提交的注释最短长度为一个字。

如图:SVN软件配置1.忽略文件在SVN 的[Setting]的[General]中,设置需要忽略的文件以便忽略掉一些临时的、无用的文件,常被忽略的文件有*.opt *.ncb *.suo *.plg *.pch *.idb *.pdb *.scc *.obj Debug Release *.o *.bin *.out *.ilk *.aps debug release *.clw *.bak。

每个程序员可以根据自己的需要进行修改忽略文件,上面只是使用VC++与Tornado编程时常用的一些忽略文件。

2.合并比较工具在Merge Tool中可以选择用来合并的工具,强烈推荐用Araxis Merge。

Subversion版本控制系统使用教程

Subversion版本控制系统使用教程

Subversion版本控制系统使用教程第一章:Subversion版本控制系统简介Subversion版本控制系统(以下简称SVN)是一种用于管理文件和目录的开源版本控制系统。

本章将介绍SVN的基本概念和优势。

1.1 SVN的基本概念SVN采用集中式版本控制系统的架构,有一个中央服务器用于保存文件和历史版本信息。

每个用户可以从中央服务器检出文件副本,并对文件进行修改。

修改后的文件可以提交到服务器,形成新的版本。

1.2 SVN的优势SVN相比其他版本控制系统具有以下优势:- 简单易用:SVN提供了直观的命令行和图形化界面,使得版本控制操作简单易学。

- 强大的版本管理功能:SVN可以对文件进行版本控制、差异比较和合并操作,方便多人协同开发和跟踪文件变更历史。

- 安全性:SVN提供了用户权限管理机制,可以对用户进行身份验证和授权,保护文件的安全性。

- 独立性:SVN支持离线工作,用户可以在没有网络连接的环境下进行版本控制操作,并在连接网络后与中央服务器同步。

第二章:SVN的安装和配置本章将介绍如何安装SVN,并进行基本的配置。

2.1 SVN的安装SVN可以在官方网站下载安装程序,提供了Windows、Linux 和Mac等各个平台的安装包。

根据操作系统类型选择对应的安装包,下载并按照向导进行安装。

2.2 SVN的配置配置SVN需要编辑配置文件。

主要的配置文件是"svnserve.conf",其中包含了服务器的相关设置,如监听端口、认证方式等。

另外,还需要创建用户认证文件"passwd"和访问权限文件"authz"。

第三章:SVN的基本操作本章将介绍SVN的基本操作,包括检出、提交、更新和差异比较。

3.1 检出使用SVN的第一步是从中央服务器检出文件副本,可以通过命令行或图形化界面完成。

检出时需要提供服务器地址和存储库路径,SVN会将指定路径下的文件下载到本地。

使用SVN来进行版本管理

使用SVN来进行版本管理

使用SVN来进行版本管理SVN(Subversion)是一种开源的版本控制系统,它可以用于管理和跟踪软件项目的版本变化。

在软件开发中,版本管理是非常重要的,它可以帮助团队协作,提高效率,减少代码冲突,并保持代码的稳定性。

本文将介绍如何使用SVN来进行版本管理。

首先,安装SVN服务器和客户端。

SVN服务器可以在本地搭建,也可以使用云服务提供商的SVN服务器,比如GitHub、Bitbucket等。

客户端可以选择TortoiseSVN、Eclipse等工具。

接下来,创建一个SVN仓库。

SVN仓库是存储代码的地方,可以包含一个或多个项目。

在服务器上创建一个空的文件夹作为SVN仓库,并使用SVN命令初始化仓库。

```svnadmin create /path/to/repo```然后,导入项目到SVN仓库。

在本地,将项目导出到一个空文件夹,并使用SVN命令将其导入到SVN仓库。

```svn import /path/to/project file:///path/to/repo/project -m "Initial import"```现在,项目已经导入到SVN仓库中了。

接着,团队成员可以通过SVN客户端从SVN仓库中将项目检出到本地。

在本地选择一个合适的文件夹,使用SVN命令进行检出。

```svn checkout file:///path/to/repo/project/path/to/local/project```这样,项目就被复制到本地了。

此时,团队成员可以开始在本地修改项目,然后将修改提交回SVN仓库。

在修改完代码后,通过SVN客户端可以查看文件的状态,比如检测到的修改、冲突等。

``````同时,如果团队成员在提交代码之前发现了其他人的修改,可以使用“svn update”命令将SVN仓库中最新的代码更新到本地。

```svn update /path/to/local/project```当多个团队成员同时修改同一个文件时,可能会发生代码冲突。

SVN使用教程总结

SVN使用教程总结

SVN使用教程总结SVN是一个版本控制系统,用于协同开发项目。

它能够跟踪和记录文件的改动,并确保团队成员之间的工作整合起来。

在本文中,我们将提供一个详细的SVN使用教程总结,帮助您快速上手和管理您的项目。

2.创建一个仓库:在SVN中,仓库是用来存放项目文件和历史记录的地方。

一般情况下,您需要选择一台服务器,然后在服务器上创建一个仓库。

使用以下命令来创建一个仓库:$ svnadmin create /path/to/repository3.导入项目文件:在创建仓库之后,您需要将项目文件导入到仓库中。

在项目的根目录下,使用以下命令导入项目文件:$ svn import /path/to/codebase file:///path/to/repository -m "Initial import"这将把项目文件导入到仓库中,并附带一条初始化的提交注释。

4. 检出项目:当仓库创建并且项目文件导入之后,您可以通过检出(checkout)来获取项目的最新副本。

使用以下命令来检出项目:$ svn co file:///path/to/repository /path/to/checkout这将把仓库中的项目文件检出到指定的目录中,使您能够开始对项目进行修改。

$ svn add /path/to/file添加文件会将其标记为待提交状态,而提交文件则会将它们的修改保存到仓库中。

6. 更新项目:在多人协同开发的情况下,可能会有其他团队成员对项目文件进行修改。

为了保持自己的副本和仓库中的最新版本一致,您需要定期更新(update)项目。

使用以下命令来更新项目:$ svn update7.查看日志:在SVN中,您可以查看每一次提交的详细历史记录。

使用以下命令来查看项目的提交日志:$ svn log8. 分支和合并:在开发过程中,您可能会创建分支(branch)来实现新的功能或修复错误。

使用以下命令来创建分支:$ svn copy /path/to/trunk /path/to/branch -m "Create branch"这将会在仓库中创建一个与主分支相同的副本,并附带一条创建分支的提交日志。

学习使用版本管理工具SVN的基本操作

学习使用版本管理工具SVN的基本操作

学习使用版本管理工具SVN的基本操作章节一:引言在软件开发和项目管理中,版本管理工具是一个不可或缺的组成部分。

版本管理工具可以帮助团队有效地协同工作、追踪变更,并确保代码库的稳定性和可追溯性。

SVN(Subversion)是一款流行且功能强大的开源版本控制系统。

本文将介绍SVN的基本操作,让读者可以轻松上手并充分利用这一工具。

章节二:版本库和工作副本SVN通过版本库来管理文件和目录的历史记录。

版本库可以存放在本地或远程服务器上,团队成员通过工作副本进行开发。

使用SVN,我们可以在工作副本上进行各种操作,并将变更提交到版本库中。

章节三:检出代码要开始使用SVN,首先需要从版本库中检出代码到本地。

检出是指将版本库中的指定目录或文件复制到本地,并创建一个工作副本。

通过检出代码,我们可以在本地进行开发和修改,并将变更提交回版本库。

章节四:提交变更在使用SVN进行开发时,我们会不断对代码进行修改和调整。

当我们认为代码已经达到一个稳定的状态并希望把变更保存到版本库中时,就可以进行提交操作。

SVN会将变更同步到版本库中,并为提交生成一个唯一的版本号。

章节五:更新工作副本在多人协同开发的环境中,可能会发生其他人已经对代码进行了修改,而我们的工作副本不再是最新版本的情况。

为了避免代码冲突并与最新代码保持同步,我们需要通过更新工作副本来获取最新的代码。

章节六:解决冲突当多个开发人员同时对同一个文件进行修改,并试图将修改提交到版本库时,可能会发生冲突。

SVN会自动检测并标记冲突的文件,但解决冲突需要人工干预。

在本节中,将介绍解决冲突的常用方法和技巧。

章节七:分支与合并分支和合并是团队协同开发中非常重要的功能。

通过创建分支,可以在不影响主线代码的情况下进行新功能的开发和测试。

而合并则可以将分支的变更合并回主线,确保代码的一致性。

SVN提供了简单且强大的分支与合并功能,本节将详细介绍使用方法。

章节八:回滚变更在开发过程中,有时我们会发现已经提交的变更存在问题,需要撤销或回滚。

使用SVN进行版本控制

使用SVN进行版本控制

Courseware template
Subversion的体系结构
• 典型的client/server模式结构 • 在系统的一端是存放着所有受控制数据的 Subversion
仓库。 • 另一端是 Subversion 的客户端程序,管理着受控数据
的一部分在本地的映射(称为工作副本)。 • 在这两端之间,是通过各种仓库存取层(Repository
On the evening of July 24, 2021
Courseware template
访问资源库的几种方式
样式
存取方式
直接从本地磁盘上访问仓库
http:// 通过 WebDAV 协议访问 Apache 服务器而访问仓库
https:// 和 http:// 相同,但使用 SSL 来作加密
• 文件共享的问题 :怎样让系统允许用户共享信息, 而不会让他们因意外而互相干扰
• "锁定―修改―解锁"方案 • "复制―修改―合并"方案
On the evening of July 24, 2021
Courseware template
"锁定―修改―解锁"方案
• 许多版本控制系统都使用锁定―修改―解锁模型来解决这个问题 ,
• 扩展能力 – 它是由一组设计良好的 APIs实现的,包含在 C 的共享 库中 ,这使得它很容易维护。也很容易被其他应用程 序或语言使用
On the evening of July 24, 2021
Courseware template
Subversion的体系结构
On the evening of July 24, 2021
• Subversion只是版本控制系统,不是软件配置管理系统 (SCM) 。它是一个通用系统,可以管理任何类型的文件 集
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

针对原文做了两个修改,见文中【修改】部分,不然不能正确配置服务器,并且添加了一些注释(flywen 2010-9-28)原文出处:/ttzhang/archive/2008/11/03/1325102.html/ttzhang/archive/2008/11/04/1325940.html文章版权归原作者Forrest Zhang所有。

一、VisualSVN Server的配置和使用方法【服务器端】1.1 VisualSVN Server的安装最新版本是1.6.1,你可以在这里下载:/files/VisualSVN-Server-1.6.1.msi VisualSVN Server,最新更新版本是1.6.2,你可以在这里下载:/files/VisualSVN-Server-1.6.2.msi VisualSVN Server Documentation下载:/server/doc/VisualSVN-Server.pdf 下载后,运行VisualSVN-Serv er-1.6.1.msi程序,点击Next,下面的截图顺序即为安装步骤:图1:图2:注意:Server Port那里,默认端口有80/81/8080三个;如果最后面的CheckBox被选中,则表示使用安全连接【https协议】,这是的端口只有433/8433二个可用。

Location 是服务器端的安装位置,Repositories是代码仓库,这里保留一份总的代码,别人的需要从中check out代码,修改后再commit回这个仓库图3:图4:1.2 TortoiseSVN的安装最新版本是1.5.5.14361,你可以在这里下载:/tortoisesvn/TortoiseSVN-1.5.5.14361 -win32-svn-1.5.4.msi?download简体中文语言包下载:/tortoisesvn/LanguagePack_1.5.5.1436 1-win32-zh_CN.msi?downloadTortoiseSVN 中文资料:/tsvndoc//help/tortoise/下载后,运行 TortoiseSVN-1.5.5.14361-win32-svn-1.5.4.msi 程序,点击Next,下面的截图顺序即为安装步骤:图1:图2:图3:图4:点击Finish按钮后会提示重启系统,其实不重启也没有关系,呵呵:-)原文地址:/ttzhang/archive/2008/11/03/1325102.html2 VisualSVN Server的配置和使用方法【服务器端】安装好VisualSVN Server后,运行VisualSVN Server Manger,下面是启动界面:好的,下面我来添加一个代码库【Repository】,如下图:按上图所示,创建新的代码库,在下图所示的文本框中输入代码库名称:注意:上图中的CheckBox如果选中,则在代码库StartKit下面会创建trunk、branches、tags三个子目录;不选中,则只创建空的代码库StartKit。

点击OK按钮,代码库就创建成功了。

【修改】如果在图2的Repositories中填了G:\Repositories,那么在这个目录下会多一个StartKit的文件夹创建完代码库后,没有任何内容在里面。

我会在这个教程的第二部分说明如何迁入源代码。

下面,我们开始安全性设置,在左侧的Users上点击右键:添加用户Developer1、tester1、manager1,好了,我们开始添加这些用户到我们刚才创建的项目里:点击上图中的"Add..."按钮,在下图中选择我们刚才添加的用户,点击OK按钮。

说明:大家可能注意到了下图中的Groups,是的,你也可以先创建组,把用户添加到各个组中,然后对组进行授权,操作比较简单,在此略过。

按照下图所示,分别对用户【或组】进行授权:点击"确定"按钮,上面的用户就具有了访问StartKit代码库的不同权限。

因为用户starter在团队中是新来者,不希望他向代码库中提交新代码,所以他只能读取代码库中的代码,不能提交代码。

tester1是测试人员,不负责代码编写,所以也是只读权限。

而Developer1和manager1是开发人员和项目经理,自然具有读、写的权限。

在实际的项目开发过程中,Developer和tester往往不可能只有一个人,这时候使用组来授权更加方便,这个大家可以自己练习一下。

3 TotoiseSVN的基本使用方法工欲善其事,必先利其器【Basic Tools】中,我已经讲解了怎样安装TortoiseSVN。

在上面的讲解中已经讲了怎么使用VisualSVN Server了,今天我要讲的是,TortoiseSVN的简单使用方法。

3.1 签入源代码到SVN服务器假如我们使用Visual Studio在文件夹StartKit中创建了一个项目,我们要把这个项目的源代码签入到SVN Server上的代码库中里,首先右键点击StartKit文件夹,这时候的右键菜单如下图所示:图2-2-1点击Import,弹出下面的窗体,其中 是服务器名,svn是代码仓库的根目录,StartKit是我们在上个教程中添加的一个代码库。

【修改】URL of repository应改为:file:///G:/Repositories/StartKit,注意file:后是三个///说明:左下角的CheckBox,在第一次签入源代码时没有用,但是,在以后你提交代码的时候是非常有用的。

图2-2-2点击OK按钮,会弹出下面的窗体,要求输入凭据:图2-2-3在上面的窗体中输入用户名和密码,点击OK按钮:图2-2-4如上图所示,好了,源代码已经成功签入SVN服务器了。

这时候团队成员就可以迁出SVN服务器上的源代码到自己的机器了。

3.2 签出源代码到本机在本机创建文件夹StartKit,右键点击Checkout,弹出如下图的窗体: 图2-2-5在上图中URL of Repository:下的文本框中输入svn server中的代码库的地址,其他默认,点击OK按钮,就开始签出源代码了。

说明:上图中的Checkout Depth,有4个选项,分别是迁出全部、只签出下一级子目录和文件、只签出文件、只签出空项目,默认的是第一项。

上面的例子中,我们也可以使用web的方式访问代码库,在浏览器中输入/svn/StartKit/.【修改】URL of repository应改为:file:///G:/Repositories /StartKit这时候也会弹出对话框,要求输入用户名和密码,通过验证后即可浏览代码库中的内容。

搞定!源代码已经成功签出到刚才新建的StartKit目录中。

打开StartKit目录,可以看到如下图的文件夹结构:图2-2-5一旦你对文件或文件夹做了任何修改,那么文件或文件夹的显示图片机会发生变化。

下图中我修改了其中的二个文件:图2-2-7大家看一下不同状态所对应的图片:图2-2-8我们已经知道怎么将源代码签入到SVN服务器,怎么从服务器签出代码到本机,也简单了解了不同状态所对应的图案啦。

3.3 提交修改过的文件到SVN服务器上面的图2-2-7中,我修改了位于Model文件中的二个文件ImageInfo.cs和NewsInfo.cs,下面演示如何提交到SVN服务器。

注意:提交源代码到服务器时,一定确保本机的代码是最新版本,否则可能提交失败,或者造成版本冲突。

在Model文件夹上点击右键或在Model文件下的空白处点击右键,点击SVN Commit…弹出下面的窗体:图2-2-9图2-2-103.4 添加新文件到SVN服务器我们在Model文件下添加一个新的类文件UserInfo.cs,在Model文件下的空白处点击右键,点击SVN Commit…,和上面讲的提交修改过的文件到SVN服务器一样,就可以了。

另外也可以在文件UserInfo.cs上点击右键,点击TortoiseSVN=>>Add,弹出如下图的窗体:图2-2-11选中UserInfo.cs文件,点击OK按钮,这样并没有将这个文件提交到SVN服务器,只是将这个文件标记为源代码库库中的文件,并将其状态置为修改状态。

之后,我们要再SVN Commit这个文件一次,才可以将其真正提交到SVN服务器上的代码库中。

上面讲是添加文件,实际上,添加文件夹的步骤也是一样的,这里就不说了。

3.5 更新本机代码与SVN服务器上最新的版本一致这个也很简单,只要在需要更新的文件夹上点击右键或在该文件下的空白处点击右键,点击SVN Update,就可以了。

注意:更新操作可能会因为版本冲突而失败,这是可以使用合并【Merge】或其他方法解决;也可能因为锁定【Get Lock】而失败,这是需要先解锁【Release Lock】。

3.6 重命名文件或文件夹,并将修改提交到SVN服务器只要在需要重命名的文件或文件夹上点击右键,点击TortiseSVN=>>Rename…,在弹出的窗体中输入新名称,点击OK按钮,就可以了。

此方法也不是直接重命名,而是将该文件或文件夹的名称标记为重命名后名称,也需要我们使用SVN Commit提交到SVN服务器后才真正重命名。

3.7 删除文件或文件夹,并将修改提交到SVN服务器最简单就是,你直接删除文件或文件夹,然后使用SVN Commit提交更新到SVN服务器。

另外一种方法是在你要删除的文件或文件夹上点击右键=>>TortoiseSVN=>>Delete删除,此方法也不是直接删除,而是将该文件或文件夹的状态置为删除,也需要我们使用SVN Commit提交到SVN服务器后才真正删除。

说明:实际上,从你把源代码迁签入SVN服务器开始,每一个版本的数据和文件,就算是你已经删除了的,也都可以随时迁出。

以上只是TortoiseSVN最简单的几个功能,其实他的功能远不止这些,其他的功能大家可以在使用的过程中慢慢体会,有些功能我会在下面的教程中使用到,到时候会和大家讲清楚用法。

注意:向SVN服务器提交源代码的时候,一定不要提交bin、obj等文件夹,否则会很麻烦。

但是web项目的bin目录除外,但是web项目的bin目录中的引用其他项目而生成的dll不需要提交。

一个好习惯:如果项目中引用了其他的第三方的程序集,比如EnterpriseLibrary、FCKEditor等,这时候不要简单从他们的安装位置引用,而是在你的解决方案下,添加一个Library的目录,把需要的程序集复制到这里,然后从Library目录引用,这样有什么好处,自己想一想吧!本文是对如下两篇文章的整理:/ttzhang/archive/2008/11/03/1325102.html/ttzhang/archive/2008/11/04/1325940.html。

相关文档
最新文档