svn版本控制工具
易文龙_SVN版本控制工具图解初稿

Subversion版本控制工具图解教程(初稿)易文龙编写QQ:452070E-Mail:jxbks@Subversion版本控制1.概述1.1什么是版本控制版本控制(Revision control)是一种软体工程技巧,籍以在开发的过程中,确保由不同人所编辑的同一档案都得到更新。
版本控制透过文档控制(documentation control)记录程序各个模组的改动,并为每次改动编上序号。
这种方法是工程图(engineering drawings)维护(maintenance)的标准做法,它伴随着工程图从图的诞生一直到图的定型。
一种简单的版本控制形式,例如,赋给图的初版一个版本等级“0”。
当做了第一次改变后,版本等级改为“1”,以此类推等等。
1.2 什么是 SubversionSubversion是一个免费开源的版本控制系统。
即在它的管理下,文件和目录可以跨越时空,允许你的数据恢复到早期版本,或者是检查数据修改的历史。
正因为如此,许多人将版本控制系统当作一种神奇的“时间机器”。
Subversion的版本库可以通过网络访问,从而使用户可以在不同的电脑上进行操作。
从某种程度上来说,允许用户在各自的空间里修改和管理同一组数据可以促进团队协作。
因为修改不再是单线进行,开发速度会更快。
此外,由于所有的工作都已版本化,也就不必担心由于错误的更改而影响软件质量—如果出现不正确的更改,只要撤销那一次更改操作即可。
1.3 常见的版本控制系统2.VSS:Visual Source Save,微软公司的版本控制器软件,/zh-cn/vstudio/aa718670.aspx3.CVS:Concurrent Versions System,开源免费,/cvs/4.Subversion,开源免费,/5.ClearCase,IBM公司,/software/awdtools/clearcase/2.基本概念版本控制工具并非程序员专用,它可以管理任何类型的文件。
Subversion版本控制工具

Subversion SVN版本控制工具准备工作:·Setup-Subversion-1.6.5→服务端软件·TortoiseSVN-1.6.6.17493-win32-svn-1.6.6→客户端·subeclipse-site-1.6.5.zip→eclipse插件在开始学习之前你必须要准备好这几个软件;首先安装SVN的服务端Setup-Subversion-1.6.5,版本不一定要一样,只要是Subversion就可以了,可能会有些差别;·双击安装包,出现如下界面,·下面的步骤可以一路Next,到此就算安装完成了,点击finish,结束安装;·path命令其实在安装完成之后就已经自动配置好了,所以不需要你去配置了,直接打开cmd 终端,开始创建我们开发用的仓库,也就是版本控制的一个工作空间,可以这么理解;·打开上面这个界面,我想大家都比我清楚的多了,那我们就用下面的命令创建一个仓库,svnadmin create d:\subversion这个命令就创建了一个在d盘上的仓库,svnadmin create 命令表示创建一个新的空的版本库,后面的路径就是你版本库所在的位置;执行完命令出现如下的界面说明空的版本库已经创建好了,我们打开D盘看下是不是有一个subversion的文件夹,如果有的话,说明空库创建没问题;·subversion这个文件夹下有如下的几个文件夹conf 存放版本库配置文件db 版本数据存储目录hooks 存放版本库子目录locks 存储库锁目录,用来跟踪库的访问者format 存储一个整数的文件,此整数代表库层次结构版本readme 这个就是一些简介了·我们必须要了解的目录是conf目录及下面的三个文件了authz 权限配置文件,可以说是svnserve的授权文件passwd 用户名和密码配置文件svnserve.conf 整体的配置文件·我们看下这三个文件之中的内容,加以简单的解释说明,然后做一个简单的案例;authz文件说明:### This file is an example authorization file for svnserve.### Its format is identical to that of mod_authz_svn authorization### files.### As shown below each section defines authorizations for the path and### (optional) repository specified by the section name.### The authorizations follow. An authorization line can refer to:### - a single user,### - a group of users defined in a special [groups] section,### - an alias defined in a special [aliases] section,### - all authenticated users, using the '$authenticated' token,### - only anonymous users, using the '$anonymous' token,### - anyone, using the '*' wildcard.###### A match can be inverted by prefixing the rule with '~'. Rules can### grant read ('r') access, read-write ('rw') access, or no access### ('').→上面的部分就是注释,下面是简单的翻译此文件是svnserve 示例授权文件。
版本控制工具考试

版本控制工具考试(答案见尾页)一、选择题1. 版本控制工具中,Git和SVN分别属于哪一类别?A. 集中式版本控制系统B. 分布式版本控制系统C. 以上都不是2. Git和SVN在项目管理中的主要区别是什么?A. Git是分布式版本控制系统,而SVN是集中式版本控制系统。
B. Git使用SHA-1哈希算法进行文件校验和,而SVN使用MD5哈希算法。
C. Git支持多个开发者在同一仓库上并行工作,而SVN要求每个开发者独立工作。
D. Git将所有数据存储在本地仓库,而SVN将数据存储在中央服务器上。
3. 在Git中,以下哪个命令用于创建一个新的分支?A. git checkout -bB. git branchC. git mergeD. git rebase4. Git中,以下哪个命令用于将本地分支推送到远程仓库?A. git pushB. git pullC. git fetchD. git merge5. Git中,以下哪个命令用于撤销本地分支上的提交?A. git revertB. git cherry-pickC. git resetD. git restore6. SVN中,以下哪个命令用于查看文件详细信息?A. `svn log`B. `svn info`C. `svn diff`D. `svn blame`7. SVN中,以下哪个命令用于将修改的文件添加到版本库?A. `svn add`B. `svn commit`C. `svn update`D. `svn merge`8. SVN中,以下哪个命令用于比较两个版本的文件差异?A. `svn diff`B. `svn merge`C. `svn log`D. `svn blame`9. SVN中,以下哪个命令用于删除本地仓库中的文件?A. `svn delete`B. `svn remove`C. `svn commit`D. `svn update`10. SVN中,以下哪个命令用于查看本地仓库的版本历史?A. `svn log`B. `svn log -r`C. `svn log -l`D. `svn log -n`二、问答题1. 什么是版本控制工具?它的主要功能是什么?2. 常见的版本控制工具有哪些?它们各自的特点是什么?3. 如何使用Git进行版本控制?4. 什么是分支策略?为什么要在项目中实施分支策略?5. 什么是合并冲突?如何解决合并冲突?6. 什么是版本控制工具的优势?它在软件开发过程中的作用是什么?7. 如何选择合适的版本控制工具?应该考虑哪些因素?8. 作为初级工程师,为什么要学习和掌握版本控制工具?这将对你的职业发展有什么帮助?参考答案选择题:1. B2. A3. A4. A5. A6. B7. B8. A9. A 10. D问答题:1. 什么是版本控制工具?它的主要功能是什么?版本控制工具是一种用于管理和跟踪软件代码变更的工具。
软件开发中常用的版本控制工具(二)

软件开发中常用的版本控制工具在软件开发的过程中,版本控制是一个非常重要的环节。
版本控制工具帮助开发团队追踪代码的修改历史,并且能够有效地管理多人协作开发的代码。
本文将介绍几种常用的版本控制工具,并讨论它们的特点和使用场景。
一、GitGit是目前最流行的分布式版本控制系统之一。
它具有强大的分支管理能力,轻量级的本地代码仓库和快速的性能。
Git的分布式特性使得开发者可以在离线的情况下完成代码的提交、修改和合并,而且每个开发者都有自己的完整代码仓库。
Git的工作流程相对复杂,但是学习之后可以极大地提高开发效率。
它适用于大型团队、多分支并行开发以及需要频繁合并的场景。
另外,Git还有丰富的配套工具和第三方插件,可以进一步扩展其功能。
二、SVNSVN(Subversion)是一种集中式版本控制系统,它以集中服务器为核心,其他开发者通过网络连接到该服务器进行代码的提交和获取。
SVN具有简单的工作流程和易于理解的操作,适合小型团队和对版本控制要求不高的项目。
SVN的主要特点是线性的版本控制,代码的提交和修改必须先后顺序地进行,这样可以减少冲突并确保每个版本都处于可用的状态。
不过,随着项目规模的扩大和代码的变动频率增加,SVN的性能会逐渐下降。
三、MercurialMercurial是另一种分布式版本控制系统,与Git类似。
它具有简单的工作流程和易于使用的命令,适合小型项目和个人开发者。
相比Git,Mercurial更注重用户友好性和易用性,但在大型项目和复杂分支管理方面的性能较差。
四、PerforcePerforce是一种商业化的集中式版本控制系统,主要面向大型团队和复杂项目。
Perforce具有强大的性能和可扩展性,能够处理大规模的代码库和高并发的开发需求。
它还提供了灵活的权限控制和审计功能,确保代码的安全性和可追溯性。
总结:不同的版本控制工具适用于不同的场景和需求。
Git适合大型团队和需要复杂分支管理的项目;SVN适合小型团队和对版本控制要求简单的项目;Mercurial适合个人开发者和小型项目;Perforce适合大型团队和复杂项目。
版本控制工具的作用及重要性

版本控制工具的作用及重要性导言在软件开发和团队合作中,版本控制工具扮演着至关重要的角色。
它们不仅帮助团队成员协同工作,还能够确保代码的安全性、可追溯性和可维护性。
本文将探讨版本控制工具的作用及其重要性,以及它们在软件开发领域的实际应用。
一、协同工作版本控制工具的首要作用是支持团队成员之间的协同工作。
团队成员可以通过版本控制工具共享和合并彼此的代码改动,避免多人同时修改同一文件导致的冲突问题。
通过版本控制工具,每个成员都可以在自己的分支上独立开发,然后合并到主分支中,确保代码的一致性和可维护性。
二、代码安全性和可追溯性版本控制工具还提供了代码的备份和恢复功能,保障了代码的安全性。
即使在代码遭受意外损坏或丢失的情况下,通过版本控制工具,我们可以轻松地回滚到之前的版本,从而避免了代码的不可逆性损失。
此外,版本控制工具还可以帮助我们追溯代码的改动历史。
每一次代码提交都会被记录并附带相关的注释,这为团队成员之间的沟通和问题解决提供了便利。
当出现问题或错误时,我们可以轻松地定位和修复,因为我们知道每一次改动的源头和目的。
三、团队协作和项目管理版本控制工具对团队协作和项目管理非常重要。
通过版本控制系统,我们可以简单地跟踪每个团队成员的贡献,并对项目进度进行监控和分析。
团队成员可以在版本控制工具中创建任务、分配任务并跟踪任务的进展。
这些功能不仅提高了团队成员之间的协作效率,还帮助项目管理者更好地管理项目。
四、实际应用版本控制工具在软件开发领域得到广泛应用。
其中,Git 是目前最受欢迎的开源版本控制工具之一。
Git 提供了分布式版本控制系统,不仅可以应对大型团队开发的需求,还可以实现本地版本控制和离线开发。
除此之外,Subversion (SVN)也是常用的集中式版本控制工具,它具有较简单的学习曲线,适合小型团队的使用。
五、总结总之,版本控制工具在软件开发中作用重大,不仅能够支持团队成员之间的协同工作,还能确保代码的安全性和可追溯性。
软件工程中的软件配置管理工具

软件工程中的软件配置管理工具软件配置管理(Software Configuration Management,SCM)是软件工程中的重要环节,它涉及到对软件开发过程中的各种软件和文档进行版本控制、变更管理、发布管理等。
为了更高效地进行软件配置管理,各种软件配置管理工具应运而生。
本文将介绍几种常见的软件配置管理工具及其特点和应用场景。
一、版本控制工具版本控制是软件配置管理中非常重要的一环,能够追踪和管理软件开发过程中代码的变更。
以下是几种常用的版本控制工具:1. Git:Git 是目前最流行的分布式版本控制系统之一。
它具有分支管理、合并冲突解决、代码回滚等功能,非常适用于团队协作的软件开发项目。
2. SVN:SVN 是集中式版本控制系统,与 Git 不同,SVN 的主要特点是服务器上有一个中央仓库来保存版本信息,开发者需要从服务器获取最新代码才能进行开发。
3. Mercurial:Mercurial 也是一种分布式版本控制工具,它与 Git 类似,但在使用上更加简单,较适合小型项目和个人开发者使用。
二、构建工具构建工具能够自动化地将源代码编译、打包、部署等操作,提高软件交付的效率和质量。
以下是几种常用的构建工具:1. Maven:Maven 是 Java 程序的构建和依赖管理工具,它使用项目对象模型(Project Object Model,POM)来管理项目的依赖关系和构建配置,可以自动下载所需的库文件,大大简化了项目的构建过程。
2. Ant:Ant 是另一款 Java 构建工具,与 Maven 不同的是,Ant 是基于脚本的构建工具,使用 XML 文件来描述构建过程。
Ant 可以根据项目的需求编写自定义的构建脚本,灵活性较高。
3. Gradle:Gradle 是一个基于 Groovy 语言的构建工具,它融合了Maven 和 Ant 的优点,具有更强的灵活性和可扩展性,适用于复杂的构建任务。
三、自动化测试工具自动化测试工具可以自动执行测试用例,验证软件的功能和性能。
了解Git与SVN版本控制的基本概念与使用方法

了解Git与SVN版本控制的基本概念与使用方法版本控制是开发项目中非常重要的步骤之一,它可以让团队成员在同一个代码库中协作开发,减少冲突并允许开发代码的版本控制。
Git与SVN是两种比较常用的版本控制工具,下面将详细介绍这两种工具的基本概念和使用方法。
一、Git的基本概念和使用方法Git是一种分布式版本控制工具,它可以让您在远程服务器和本地副本之间定期同步代码,并允许您在本地修改代码。
您提交的所有更改都会保存在本地副本中,因此您可以在分支之间轻松切换并合并更改。
以下是Git的基本概念:1.仓库(Repository):Git仓库是存储项目所有文件和历史记录的地方。
该仓库保存所有代码文件的版本历史记录,使您可以回滚到以前的版本并查看单个文件的更改。
2.提交(Commit):Git提交是指将更改保存到本地副本中。
以此方式提交的所有更改都会保存在本地,而不是实时更新到远程仓库。
(commit可以理解为提交代码的一个快照,所以我们可以查看每次修改的内容)3.分支(Branch):Git中的分支是指根据当前代码树创建一个新的代码树,该代码树会包含当前代码树中已经存在的所有代码。
Git使用分支来支持并行开发,开发人员可以在自己的分支上工作,以免影响主分支。
4.合并(Merge):每个Git分支都是它自己的代码树,合并是将两个分支的代码树合并成一个。
合并后,开发人员可以将两个分支的更改应用到一个分支中。
5.推送(Push):Git推送是将本地副本更改推送到远程仓库中。
这会将本地仓库的内容上传到远程仓库,以使其与本地副本快速同步。
6.拉取(Pull):Git拉取是从远程仓库中获取最新代码更改并合并到本地副本中。
这可以确保您在提交本地更改之前在本地副本中有最新的代码。
Git的基本使用方法如下:1.初始化Git仓库:使用命令“git init”创建一个本地仓库。
2.添加文件:要添加文件,请使用“git add”命令,该命令将更改的文件添加到索引中。
版本控制工具的作用与应用

版本控制工具的作用与应用在软件开发和团队协作过程中,版本控制是一个至关重要的环节。
版本控制工具能够有效地管理代码的版本和变更,使得团队成员能够协同开发,避免代码冲突,提高工作效率。
本文将介绍版本控制工具的作用与应用。
一、版本控制工具的作用1. 并行开发:版本控制工具允许多个团队成员同时对同一个代码库进行开发,每个人都可以在本地独立进行修改、测试和提交,然后通过版本控制工具将修改的代码合并到主分支上。
这种并行开发的方式大大提高了团队的开发效率,避免了多人同时修改同一文件所带来的冲突和错误。
2. 版本管理:版本控制工具能够管理代码的版本历史,记录每个提交的变更,并提供查看和回滚历史版本的功能。
当出现错误或需要回退到之前的版本时,可以轻松地恢复到指定的版本,保证项目的稳定性和可靠性。
3. 分支管理:版本控制工具支持创建分支,可以将开发任务分散到不同的分支上进行,并最终合并到主分支中。
通过分支管理,可以实现不同功能的并行开发、修复bug的独立操作,大大降低了代码冲突和错误的风险。
4. 协同合作:版本控制工具提供了团队协作的平台,成员可以通过提交代码和代码评审的方式进行交流和合作。
每个成员都可以看到其他人提交的变更,了解项目的进展和修改的细节,保证团队之间的沟通和协作。
二、版本控制工具的应用1. Git:Git是目前最流行的分布式版本控制系统,被广泛应用于开源项目和企业项目中。
Git具有极快的速度、强大的分支管理功能和完善的版本控制能力,可以有效地协作开发和管理项目。
通过Git,团队成员可以在本地工作,无需联网即可进行代码提交、分支合并等操作。
2. SVN:SVN是集中式版本控制系统,相比Git,SVN的工作方式更为传统和简单。
SVN适用于团队规模较小,不需要频繁合并分支的项目。
SVN提供了稳定可靠的版本管理功能,通过服务器集中管理代码的版本和变更。
3. Mercurial:Mercurial是另一款流行的分布式版本控制工具,类似于Git。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1节背景及svn简介svn是subversion 缩写,它是一个自由、开放源码、多用户的版本控制系统, 支持通过本地或远程访问数据库和文件系统存储库。
Subversion 管理着随时间改变的数据。
这些数据放置在一个中央资料档案库(repository) 中。
这个档案库很像一个普通的文件服务器,不过它会记住每一次文件的变动。
这样你就可以把档案恢复到旧的版本,或是浏览文件的变动历史。
许多人会把版本控制系統想像成某种“时光机器”。
版本控制是管理数据变更的一种技术。
对于程序员来说,它已经成为不可或缺的工具,因为他们经常修改软件代码,产生部分的变更,然后第二天再取消所有的变更。
想象有一群程序员同时工作的情况你就能理解,为什么需要一个良好的系统来管理可能出现的混乱。
SVN 不但提供了常见的比较、合并、标记、提交和分支功能,SVN 还增加了追踪移动和删除的能力。
此外,它还支持非ASC Ⅱ文本和二进制数据、原子性提交、HTTP 访问等特性,当SVN 被广泛使用时,也需要有个管理工具能够更方便安全地维护SVN 的用户、组、权限、库等内容,协助普通用户更好地配置管理SVN,而无需都交由可能比较繁忙的系统管理员维护。
而基于Web 的Subversion 管理工具将是一种非常适合的选择。
SVN 可以支持windows 和Linux 两种操作系统,在两种操作系统上运行都具有稳定性和安全性。
SVN 在设计上包括了一个抽象的网络层,这意味着SVN 的版本库可以通过各种服务器进行访问,而允许程序员为客户端“版本库访问”的API 写出先关协议的插件,理论上讲,SVN 可以使用无限数量的网络协议,目前提供了有两种服务器运行方式:一种是Subversion Standalone Server。
即svnserve,一个小型的独立服务器,另一种是基于Apache Http Server,即Web 服务器,它通过mod_dav_svn 模块,客户端使用WebDAV/DeltaV 协议进行访问。
SVN站在更高层次上对现在的安全产品,从系统和控制的角度进行了"有机"和"无隙"的整合。
SVN是一个安全虚拟网络系统,它将系统整体的信息安全功能均衡合理地分布在不同的子系统中,使各子系统的功能得到最大限度的发挥,子系统之间互相补充,系统整体性能大于各子系统功能之和,用均衡互补的原则解决了"木桶原理"的问题。
SVN能在跨接Internet, Intranet, Extranet间的网络所有端点实现全面的安全,而且还能提供基于企业策略的信息管理机制以充分有效地利用有限的带宽。
SVN可以满足各种企业VPN的要求,通过为公司内部网络、远程和移动用户、分支机构和合作伙伴提供基于Internet的安全连接。
所以,我们可以将SVN看成是VPN、防火墙、基于企业策略的信息管理软件集成在一起的Internet安全的综合解决方案。
在这样一个网络系统中,所有互联网服务器端和客户端都是安全的,并有一个信息管理机制以不断地通过这个外部网络环境动态地分析及满足客户的特定带宽需求。
SVN提供了目前基于网络实现的eBusiness 应用的安全服务,它包含:对多种应用进行全面的安全认证;支持多种认证及PKI功能强大并对用户透明的通讯加密;面向用户的集中安全策略管理;统一跨接Internet、Intranet、Extranet的通讯。
完整的SVN体系结构应包括以下部分:带有防火墙的VPN网关,它是一个将防火墙和VPN技术紧密结合的网关产品;SVN安全远程客户端软件包,一个功能强大的VPN客户端软件,支持台式机用户、远程用户和移动用户,具有集中化管理的个人防火墙功能和VPN用户的安全认证功能;SVN证书管理模块,一个用于SVN的完整PKI解决方案,它将完善的CA和LDAP目录服务器技术集成在一起;SVN硬件加密卡,可以通过硬件技术实现功能强大的各种算法以提高VPN的速度和性能;SVN智能带宽管理模块,一个基于企业策略的带宽管理解决方案,可以智能地管理有限的带宽资源,以确保用于企业重要应用的VPN性能可靠;SVN冗余管理模块,通过冗余网关集群和防火墙VPN内的SVN 冗余模块,对执行重要任务的VPN和防火墙应用在出现故障时实现无缝切换。
自动地址转换模块,一个自动管理IP 地址和命名的解决方案,通过提供IP地址服务的跟踪和集中化管理,确保可靠地控制地址分配和提高TCP/IP 管理效率;SVN 安全服务器软件包,专门保护单个应用服务器安全的VPN 网关软件,它可以保护进行敏感操作的服务器免受攻击和未授权的访问,使客户端建立与服务器间的安全认证和支持交换加密数据的连接; SVN 安全客户端软件包,它将基于状态检测的防火墙和基于IPSec 的VPN 客户端软件集成在客户端机器上,通过提供集中管理的个人防火墙和对所有企业VPN 用户的安全认证,增强客户端机器的安全性。
它与SVN 安全远程客户端软件功能相比,增强了客户端的安全功能,如访问控制和安全初始化控制等。
第2节 Linux 下SVN 服务器的搭建与配置第一步,先检查是否安装了下面软件包:如果没有请安装它们。
最新的SVN 软件下载地址:/downloads/subversion-1.4.5.tar.gz第二步,建立一个用户,用于管理SVN 版本库 :第三步,创建版本库目录,并修改相应权限:#rpm -q subversion httpd mod_dav_svn#useradd -m -s /bin/bash svn#mkdir /var/repos#chown svn.svn /var/repos第四步,创建项目仓库:#su - svn$svnadmin create /var/repos/svn1$svnadmin create /var/repos/svn2/var/repos/svn*为所创建的项目仓库的路径,理论上可以是任何目录, 但建议放在/home/svn下。
此时,我们进入/var/repos/svn1与snv2下就可以看到有下面这些文档自动生成了。
$ ls /var/repos/svn1conf dav db format hooks locks README.txt其中,conf中包含了SVN的配置文件,是我们要修改的文件。
第五步,修改配置文件:$vi /var/repos/svn1/conf/svnserve.conf文件修改及各参数配置如下:[general]anon-access = read#匿名用户的权限auth-access = write#认证用户的权限。
这两个可以使read、write、nonepassword-db = passwd#认证用户的密码文件,也就是conf目录下的passwd文件,接下来我们要在passwd中添加相应用户的密码authz-db = authz#认证用户的一些权限等配置,是conf目录下的authz文件#注意:所有的行都必须顶格,否则报错第六步,修改配置文件passwd文件:$vi /var/repos/svn1/conf/passwdPasswd文件的格式为:用户名= 密码[users]svn = svn注意:1. 一定要去掉[users]前面的#,否则svn只能以匿名用户登录,客户端不会出现登录窗口或密码提示,除非你的anon不为none,否则将返回一个错误。
2. 这里的密码都是没有加密的。
第七步,修改authz$vi /var/repos/svn1/conf/authz这里边的修改是可选的。
其中:用户组格式为:[groups]<用户组名> = <用户1>,<用户2>1个用户组可以包含1个或多个用户,用户间以逗号分隔。
用户必须要在passwd文件里能找到,它是给那个里面的user赋权限.版本库目录格式为:[/目录]@<用户组名> = <权限><用户名> = <权限>示例:[groups]admin = tube[/]@admin = rw[/var/repos/svn1]svn = rw(表示svn能够读写/var/repos/svn1目录下的所有信息)[/var/repos/svn2]svn=r(表示svn能够读/var/repos/svn2目录下的所有信息)第八步,启动服务器:$svnserve -d -r /var/repos#-d表示以daemon方式(后台运行)运行#-r /var/repos指定根目录是/var/repos#检查服务器是否启动正常:$ps –ef|grep svnserve注意:使用用户svn来管理版本库目录/var/repos,则须转为svn用户。
第九步开放服务器端口:svn默认端口是3690,你需要在防火墙上开放这个端口。
#/sbin/iptables -A INPUT -i eth0 -p tcp --dport 3690 -j ACCEPT# /sbin/service iptables save也可以通过svnserve的--listen-port选项来指定一个已经开放的其他端口,不过这样客户端使用也必须加上端口,如svn://192.168.0.xx:yyyy/. 第十步,使用svn客户端导入项目:首先,切换至svn用户#su –svn假设我们当前的项目源代码目录在/home/svn/work目录下。
首先,创建这个目录:$mkdir –pv /home/svn/work然后随便解压缩个源代码包或者自己手工建立一些文件,等等好作为导入项目的演示接下来,进入项目源代码目录$cd /home/svn/work导入项目$svn import svn://192.168.0.X/svn1 –m “test-svn1”如此就可以看到上传的显示。
第3节svn客户端使用详解1、将文件checkout到本地目录svn checkout path(path是服务器上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co2、往版本库中添加新的文件svn add file例如:svn addtest.php(添加test.php)svn add *.php(添加当前目录下所有的php文件)3、将改动的文件提交到版本库svn commit -m “LogMessage“[-N] [--no-unlock] PATH(如果选择了保持锁,就使用–no-unlock开关)例如:svn commit -m “add test file for my test“test.php简写:svn c 4、加锁/解锁svn lock -m “LockMessage“[--force] PATH例如:svn lock -m “lock test file“test.phpsvn unlock PATH5、更新到某个版本svn update -r m path简写:svn up例如:svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。