ubuntu下使用svn管理项目
来源:互联网 发布:加入域找不到网络路径 编辑:程序博客网 时间:2024/06/08 07:50
1.svn简介
如果面临一个大的项目开发任务,特别是需要多个人协作完成,为了避免文件修改的冲突和跟踪对源文件的修改,因此对于源文件的管理也就显得非常的重要!
在UNIX项目管理的发展来看,有SCCS,RCS ,CVS,subversion。SCCS时最早应用于UNIX项目管理的,随着发展,逐渐被接口更丰富的RCS所代替。CVS是比RCS更高级 的工具,它用于基于互联网的协同开发。它具有两个显著的优势:可以通过网络使用,并且允许并发开发。Subversion是一个新的开发工具。 它旨在最终来替代CVS。
2.svn 安装
在Ubuntu下安装非常的简单。使用命令sudo apt-get install subversion;Red-Hed系列的系统可以使用
sudo yum -y install subversion
3.svn 建立仓库
首先说明什么的仓库(repository),它是你管理的项目储藏的地方,所有的项目各个版本信息都在它的管理之下。
<span style="font-size:14px;"> svnadmin create /path/to/your/repostitory</span>
首先需要mkdir自己的repository的主目录,项目的管理的人员是在一个group中,可以给该目录群读写权限。
此时仓库建立完成,接下来需要了解他的配置文件。在repository的目录下有conf的目录,里面有主要的配置文件——authz passwd svnserve.conf
svnserve.conf:
主要有一下几句:
anon-access = read auth-access = write password-db = passwd authz-db = authz
前两句是对repository的匿名用户何认证用户的访问权限设置,后两句是密码和认证的用户的文件放的位置,如果是单个文件名字,说明是在同一个文件目录下。
authz 文件是在同一个项目中各个成员的访问权限的限制,通常每个成员只对自己开发的文件具有读写权限,而对于其他成员的文件有读权限。
passwd是对每个成员的密码管理。
4.导入自己的项目文件或者项目工程
svn采用如下的命令导入工程
<span style="font-size:14px;"> svn import cvs-sp file:///usr/local/repository/trunk</span>
这是我自己导入工程时的命令:
<span style="font-size:14px;"> svn import -m "face detection program" /home/zkl/doc/facedetector file:///home/zkl/svn/project/facedetector-m:是对项目文件的注释信息,在你查看每个版本的时可以显示出来。 第一个目录时你需要导入的文件的路径,第二个时仓库的目录 </span>
在导入成功后,整个项目就存在于仓库里面了,即使删除原来的工程也没有关系,也能够通过命令恢复出来。
5.svn操作中常用的命令
1> 基本下载提交命令
从仓库中获得项目文件:
<span style="font-size:14px;"> svn checkout http://路径(目录或文件的全路径) [本地目录全路径] --username 用户名 svn checkout svn://路径(目录或文件的全路径) [本地目录全路径] --username 用户名 </span>如果是本地下载svn checkout file:///home/zkl/svn/project/ /home/zkl 就可以了。
有了文件,这下就可以进行工作了,结束以后,需要提交你的文件。
使用:
<span style="font-size:14px;"> svn commit -m “提交备注信息文本“ [-N] [--no-unlock] 文件名 svn ci -m “提交备注信息文本“ [-N] [--no-unlock] 文件名 必须带上-m参数,参数可以为空,但是必须写上-m </span>增加文件时:
svn add 文件名
更新文件:
svn update
svn update -r 修正版本 文件名
svn update 文件名
删除功能
svn delete svn://路径(目录或文件的全路径)-m “删除备注信息文本”
推荐如下操作:
svn delete 文件名
svn ci -m “删除备注信息文本”
2> 查看版本信息命令
比较差异:
svn diff 文件名
svn diff -r 修正版本号m:修正版本号n文件名
查看文件或者目录状态
svn st 目录路径/名
svn status 目录路径/名<- 目录下的文件和子目录的状态,正常状态不显示
【?:不在svn的控制中; M:内容被修改;C:发生冲突;
A:预定加入到版本库;K:被锁定】
svn -v 目录路径/名
svn status -v 目录路径/名<- 显示文件和子目录状态
查看日志
svn log 文件名
查看文件详细信息
svn info 文件名
查看版本库下的文件和目录列表
svn list svn://路径(目录或文件的全路径)
svn ls svn://路径(目录或文件的全路径)
参考文献:
1.linux程序设计(第4版)
2.http://www.cnblogs.com/lidan/archive/2012/04/19/2457751.html
文中难免有纰漏和不详细之处,欢迎批评指正。
- ubuntu下使用svn管理项目
- ubuntu下,使用svn进行版本管理
- ubuntu下使用svn管理sina 云平台的代码
- Ubuntu下使用SVN
- Ubuntu下使用SVN
- Ubuntu下使用SVN
- Ubuntu下使用SVN
- Ubuntu下使用SVN
- ubuntu下使用SVN
- Ubuntu下使用SVN
- Ubuntu下使用SVN
- Ubuntu下使用SVN
- Ubuntu下使用SVN
- ubuntu下使用SVN
- Ubuntu下使用SVN
- Ubuntu下使用SVN
- Ubuntu下使用SVN
- ubuntu下svn使用
- 求教struts2对象封装二维数组问题
- 【转帖】中新网遭黑客攻击,主域名疑被人抢注
- ArcGIS 坐标系统文件
- iOS开发的一些奇巧淫技
- Android VLC播放器二次开发2——CPU类型检查+界面初始化
- ubuntu下使用svn管理项目
- WINDOWS.H already included. MFC apps must not #include <windows.h>
- 创建kvm虚拟机
- 用户界面设计的一些方法和原则
- 升降序列
- 菜鸟学Android(二十):Servlet的调用过程
- C语言小结
- java中JVM的原理
- 淘宝安全团队高手关于信息安全发展的看法,很有启迪!