0. 引言

现在项目开发通常以团队进行,因此团队之间需要进行分工协作,为了统一管理项目,一般使用版本管理工具来方便彼此的代码提交管理。此时,代码一旦提交,整个工程都会受到影响。因此,在提交代码之前一定要自己先充分进行测试,至少确保没有一些很基本的问题。在代码修改测试的过程中,会有代码的迭代修改,因此也有必要使用版本管理软件对本地的代码进行管理,它能让你方便的回到几天前的一个修改。

1. 版本管理工具简介

版本管理工具有很多,在linux环境下通常会用git和svn。他们都是免费开源的,可以放心使用。本文主要介绍svn的使用。在linux环境下的svn主要使用命令行方式进行,windows下的svn工具是TortoiseSVN,也就是小乌龟,在windows下的使用比较简单,都是图形化操作 ,大部分操作都可以通过右键进行。本文基于linux环境。

2. 安装

通常linux操作系统会内置git和svn版本管理工具,如果没有的化需要自己安装,可以使用源码安装方式,下载源码使用configure/make/make install三步进行安装。在我的ubuntu系统下,使用在线安装更方便,安装命令如下:

sudo apt-get install subversion

3. 常见命令用法

3.1 代码库创建

代码库可以在任何地方进行创建,为了进行统一管理,我在创建了svn_repo目录,并将svn工程创建在此目录以进行统一管理。

使用svnadmin create 创建工程代码库:

cd ~/svn_repo
svnadmin create project1

此时,在svn_repo目录下会生成一个project1目录。project1目录下的conf是工程的配置目录,主要有3个文件需要修改。

1) svnserve.conf

默认文件的配置都被注释了。主要有如下内容:

anon-access = read
auth-access = write
password-db = passwd
authz-db = authz

第一行设置匿名用户访问权限,第二行表示授权用户访问权限。read表示只读,write则可读可写,none禁止访问。password-db 指定用户名以及对应的密码所用的wenj。authz-db指定权限管理的文件。在构建本地库可以简单将anon-access设为write。
2) passwd & authz

这两个文件的设置可以参考默认文件的注释进行相关设置。

3) 启动svnserve

svnserve -d -r ~/svn_repo

3.2 版本库的首次导入。

1) 方法1

首先使用svn co 检出版本,然后构建相关的目录(svn mkdir)和源码,然后使用svn add 和svn ci添加目录以及源码并提交。

cd ~/tmp
svn co svn://localhost/project1
cd project1
svn mkdir src
cd src
touch test.c
svn add test.c
svn ci

2) 方法2

构建好版本库目录,并将源码拷贝到目录库(如果已经有现成的目录结构可以省略此步骤)。使用svn import载入。

cd ~/svn_repo
svnadmin create project2
//配置文件修改省略
cd ~/tmp
mkdir -p code{branches,tags,trunk}
svn import code svn://localhost/project2

注意,只有code目录下的{btanches,tags,trunk}目录以及子目录和内部文件会被导入版本库,检出的版本库会看到如下目录结构:

project2/branches

project2/tags

project2/trunk

3.3 基本日常用法

通常是先使用svn co 检出对应的版本,对于已经检出的,可先使用svn up进行版本更新。

使用svn add 和svn  ci 添加自己的代码并提交。此外,svn支持常见的文件以及目录操作。

svn mkdir/svn cp /svn mv /svn rm等。可以使用svn help 查看相关的命令解释以及用法。

svn info:查看版本信息

svn st: 版本状态

' '  no modifications

'A' Added

'C' Conflicted

'D' Deleted

'I' Ignored

'M' Modified

'X‘ unversioned directory

'?' item not under version control

'!' item missing(remove not by svn rm)

更多的信息可以使用svn help st进行查看。

svn log:查看版本提交的注释信息。

使用SVN构建自己的本地代码库相关推荐

  1. 在AD中构建自己的组件库

    在AD中构建自己的组件库 在使用AD时本地库都是集中放到一个库文件中一个大合集找到合适的封装后直接拷贝到自己的库或直接使用这个库用完就直接丢弃,但是使用时会发现一个问题不同人制作的库所包含的信息是不一 ...

  2. android stuido 在线安装svn插件,添加版本库无响应

    问题:android stuido 中在线安装svn插件,添加版本库无响应. 原因: 由于android stuido 版本较高,在线安装1.6x 版本的svn,添加版本库一直没有响应,最后卡死.. ...

  3. javascript专题:如何构建自己的js库

    首先看看这个: (function(){ //运行的代码 })(); 红色括号里面是一个匿名函数,红色括号是分割,表示里面的函数是一个部分,绿色的括号表示一个运算符,表示红色括号里面的函数要运行. 相 ...

  4. Jenkins+maven+SVN构建java项目中遇到的问题及解决

    Jenkins+maven+SVN构建java项目中遇到的问题及解决 参考文章: (1)Jenkins+maven+SVN构建java项目中遇到的问题及解决 (2)https://www.cnblog ...

  5. git删除本地代码库文件后同步到远程仓库同时删除远程仓库文件

    1.更新本地代码库 git pull 2.对需要删除的文件.文件夹进行如下操作: git rm ss.c(删除文件) git rm -r aaa (删除文件夹) 3.提交修改 git commit - ...

  6. 在windows环境下配置gitlab本地代码库

    题外话:最近在从事一个NLP算法课题.因为我负责的模块偏重弄理论,更倾向于做为团队竞争力的技术储备,故而与其他模块的交流并不多.一个人做久了,发现欠下的技术债越来越多,要是不好好整理代码,之后的窟窿可 ...

  7. oracle客户端 安装报错,Oracle 11g客户端安装在构建客户机共享库报错

    今天同事反馈在RedHat 5.5上面安装Oracle 11g客户端一直不成功,报错截图见下: 查看具体报错信息如下: 信息: 构建客户机共享库 信息: 构建客户机共享库 信息: 此 make 操作的 ...

  8. flink 开发平台Dinky 构建 Flink CDC 整库入仓入湖

    原文:http://www.senlt.cn/article/866753893.html 摘要:本文介绍了如何使用 Dinky 实时计算平台构建 Flink CDC 整库入仓入湖.内容包括: 背景 ...

  9. storybook初探:利用storybook构建组件文档库

    storybook初探:利用storybook构建组件文档库 之前的一些项目上用到了storybook来构建组件的文档库,虽不够完善,但仍总结了一些简单的内容以供回顾. Storybook常用来打造团 ...

最新文章

  1. pythonurllib标准_Python标准库urllib2的一些使用细节总结
  2. 前端日报-20160527-underscore 源码解读
  3. 文献学习(part28)--Biclustering of gene expression data based on related genes and conditions extraction
  4. 免去架构算法调优,如何让你的系统风驰电掣?|图说
  5. python课程思路_学习python课程第二十六天
  6. 手机MMI体系结构及其实现
  7. 新手开发记录:把ListView、Adapter的逻辑捋顺,做一个微博热搜吧
  8. 位置权限 android_Android 10 –位置权限
  9. ALOS_PALSAR_12.5m分辨率DEM数据下载
  10. Android 键盘映射
  11. C语言_写简易吃豆人小游戏
  12. 08python 主函数调用子函数
  13. D. Dirty Deeds Done Dirt Cheap
  14. 简单易懂的现代魔法——Play Framework攻略1
  15. 传统产业如何进行数字化转型
  16. 红帽 Red Hat Linux相关产品iso镜像下载【百度云】【更新7.6】
  17. 2020年数二真题(重点题讲解)
  18. 2021年软考考试时间确定
  19. 桥梁防船撞智能预警系统方案讨论
  20. python用matplotlib画玫瑰_Python可视化:用Matplotlib画个玫瑰图

热门文章

  1. 推出应用加速器 伟库网为用户应用体验上保险 (转载)
  2. 卡方分布、t分布 和F分布
  3. Ubuntu 21.04 使用Docker部署深度学习项目(cuda11.2+cudnn8.8+deepface)
  4. 关于@GeneratedValue和@GenericGenerator的学习笔记
  5. C# 使用DllImport 调用 native DLL的方法
  6. 专业临床护理体温单控件
  7. SAP 常用报表汇总
  8. 宇宙只是一个幻象,世界是意识的投影
  9. 【计算机组成原理与体系结构】硬件系统概述
  10. 鱼C论坛小甲鱼Python课后题