Subversion,TortoiseSVN,Subclipse的使用

2024-06-07 06:32

本文主要是介绍Subversion,TortoiseSVN,Subclipse的使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

下图是一个svn的访问图 

svn 的策略

拷贝-修改-合并方案(svncvs采用)

拷贝 :如果一个新成员刚来到公司时,项目经理就会让他的部员第一次去checkout .

     这里的checkout 是接触项目的第一次对svn的操作。目的是从服务器中的svn仓库中下载到本次项目的源码,一般今后和同事们一起构建这个项目,为这个项目来添砖加瓦,其后会是一顿的 update

修改:这个可以这么理解,就是修改从svn仓库下载来的源码。不管是你自己以前写的还是别的同事的源码,都可以修改。

合并: 在两个人a,b先后 修改了 xxx.java 但是 b.先commit了。。 后来a在commit时, 发现版本过期。

这时。a不得不update 后在慢慢的合并 自己和b的代码。。然后才commit .要是b未调试好自己的代码。就commit 了 。这些a就蛋疼啦。。 还要解决b遗留下来的问题。 要知道这个合并不是好事呀

 

 

小例子。

    先来三个人物。。项目经理yoyo   职员lili   公司新人biabai

先来创建  svn仓库【repository】

 仓库在我本机上给建立啦。。本人也没能力去买一台深蓝Super cp 来当服务器ya,没法,我这破本是又当Server  又当Client。嘿嘿开始啦。

在先前我们启动 SVN-Server时就指定了svn 仓库了。

 

 

这里J:\repository\svn  就是我们的大仓库 ,这里指定的是多仓库.

之后我们在svn文件夹里新建一个如AO项目的文件夹ao

 

 

进入AO项目的文件夹。我们将把它作为一个小仓库

右键鼠标依次选择 TortoiseSVN ->Create repository here

 


之后。。选择 ok 就在服务器端上的J:\repository\svn大仓库下好了我们OA项目的代码仓库oa 小仓库

 

 

  

仓库目录说明

db目录:就是所有版本控制的数据存放文件。

hooks目录:放置hook脚本文件的目录

locks目录:用来放置Subversion文件库锁定数据的目录,用来追踪存取文件库的客户端。

format文件是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号。

conf目录:是这个仓库的配置文件(仓库的用户访问帐号、权限等)。 

 

下一步。。

给我们的oa项目小仓库创建访问权限

  是的,看了上面的说明后可知,在conf文件夹下 有仓库的配置文件

我们进入conf 如图:

 

 

看图的情况我们得先配置 svnserve.conf 文件。。

用一般的记事本打开。。我们稍稍的修改几下就差不多啦

第一步对svnserve.conf 文件作如下修改,找到以下四行: #anon-access = read #auth-access = write #password-db = passwd #authz-db = authz 将这四行前的“#”号去掉,并修改如下: anon-access = none 不允许匿名用户访问 auth-access = write 通过验证的用户可以读写 password-db = passwd 用户保存文件 authz-db = authz 权限管理文件

 

 

第二步对passwd中 添加一行 user1=user1passwd (前面是用户名,后面是密码) ltw = ltwpasswd

 

第三步对authz中 作如下操作

[groups] svngroup = ltw [itcast:/] @svngroup = rw 定义组svngroup下的所有用户拥有 读写权限 (注意:rw权限具有继承性,例如我们对于根目录设置了有读写权限 则对于根目录下的所有子目录同样具有读写权限) user1 = r 定义用户user1拥有读权限 * = 其他用户无任何权限

如果权限保护目录为中文,则必须将authz文件利用ultraedit工具转存为UTF-8 无BOM 格式 否则权限不生效

给仓库放东西

接下来 ,项目经理yoyo就会把项目的框架给搭建好。发布到 仓库上 ,然后让程序员们checkeout 来得到了

打开myeclipse 6.5 新建一个oa 项目如图

 

点击finish后我们算是模拟完成项目经理搭建项目的框架了 。

接下来 打开svn Repositories 视图 点击 下图红框中的按钮 进入 Add SVN Repository 窗口

输入你要上传的 仓库的Url ,由于是本机上的我就svn://localhost/oa 啦  这里的oa 就是我这个项目对应的小仓库啦。 点击finish 后会出现如下图 左边 有一个黄色小桶 后边跟着svn://localhost/oa 的字样的

这表明。你连接成功了。

 


如下图。当我们准备第一次Checkout时。什么都没有。

 

 

如下图。让后yoyo就上传项目了。当然这是一个Share 的过程:

    在share 之前,你的项目的图片没有变化就是一个普通的web project 项目的图标

步骤一

步骤二

 

 

 

 

步骤三

 

步骤四

 

 

 

点击finish 完成。。完成后,,yoyo的项目就变成带  *   的 web project 啦。 这个提示。。这个项目需要更新啦 。。那我们就第一次提交来更新它。

当我们Commit 后。又会变成带有   黄色小桶的web project 图标 这说明此项目是更新过的

提交时会需要密码输入。。你可以让它记在你的密码

如下一系列图。是提交过程: 1.

2.

 

 

3

 


4

看这里   项目图标右下角变成黄色小桶啦。

 

 

之后我们来开始  协同 工作。。

yoyo  新建一个MyJsp.jsp  ,在里面输入一个"svn test
"字样 保存后 Myjsp.jsp的图标右下角变成? 说明Myjsp.jsp 修改了,还没有没有提交 ,我们提交以下。

步骤如下:

 

1

 

2

 

3

 

 

 到这里 。项目中文件的图标都在右下角都添加了一个黄色小桶。见到小桶让人舒服呀。。。这表示你的工作完成了。

 

 

同时 。。程序员lili  要参加这个项目的开发中来。。lili 也得先checkout 从服务器端共享一份源码,来工作

这里我们就没有用myeclipse来演示 ,为了熟悉以下窗口下的工作方式。

lili在他的工作空间中 新建了一个lili的文件夹,以便来接受存放源码

步骤如下:

1

 进入lili 文件夹,在窗口内单击鼠标右键,出现如下图的菜单。然后checkout 吧

 3 ,  输入项目经理yoyo给lili的 ao项目仓库地址  如下图高亮处,

4点击ok 后就有一个绿园白钩的让人舒服的文件夹,没错 这个就是项目经理yoyo构建好的svnTest项目

 

5, 进入项目中发现和yoyo在myeclipse 中的文件是一样的。呵呵。。这就是svn 的高明之处啦。。

 

 6 在WebRoot 目录下 还找到了 yoyo 编辑过的Myjsp.jsp.

 

为了体现  协同。。yoyo再次在MyJsp.jsp中添加了 yoyo add agian
并且提交了

步骤如下:

1

2 提交: 把yoyo修改的Myjsp.jsp 提交到服务器上去,更新项目的版本 

 

 lili 得知 yoyo 更新了Myjsp.jsp ,便更新了一下自己的项目。

 

 

 lili 再次打开 yoyo修改过的MyJsp.jsp 后。 发现多了 yoyo add again
   如下图红框中的内容。。

        这就对了。。。而且 版面跟新为4 了 

 

这时来了一位新员工。。baibai

  baibai也要加入这个项目来。。就在 项目经理个baibai添加了用户和密码。。如下图。。不明白请参考上面仓库设置权限的小节。

baibai 上班第一天也是 先在 SVN Repositories 视图中添加项目经理yoyo指定 svn 仓库

如下图

 

 

然后导入 要一起协同开发的项目

 1.File菜单-》Import

 

2 .svn ->Checkout Projects form SVN

 

3 选择连接

 

 4.选中项目  点击finish

下图是还没有导入项目之前的样子

 

导入后的的 svnTest 项目

点开 项目的+ 号 后找到 myJsp.jsp 并进行修改 。添加 baibai add
  后提交。。

 

 

得知被baibai,修改Myjsp.jsp 后的lili  的更新一下 项目

 

 

下图为 lili update 后的 myjsp.jsp  。。

 

就此   一次次的新建文件 。修改  ,提交。。更新   后。。。。。项目就完成了。。

当 发现 别人修改后的代码不对时还可以通过History 用旧版本的文件替换新的有bug的文件



转载自:http://blog.sina.com.cn/s/blog_7098c31a0101b896.html

这篇关于Subversion,TortoiseSVN,Subclipse的使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1038401

相关文章

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

使用opencv优化图片(画面变清晰)

文章目录 需求影响照片清晰度的因素 实现降噪测试代码 锐化空间锐化Unsharp Masking频率域锐化对比测试 对比度增强常用算法对比测试 需求 对图像进行优化,使其看起来更清晰,同时保持尺寸不变,通常涉及到图像处理技术如锐化、降噪、对比度增强等 影响照片清晰度的因素 影响照片清晰度的因素有很多,主要可以从以下几个方面来分析 1. 拍摄设备 相机传感器:相机传

pdfmake生成pdf的使用

实际项目中有时会有根据填写的表单数据或者其他格式的数据,将数据自动填充到pdf文件中根据固定模板生成pdf文件的需求 文章目录 利用pdfmake生成pdf文件1.下载安装pdfmake第三方包2.封装生成pdf文件的共用配置3.生成pdf文件的文件模板内容4.调用方法生成pdf 利用pdfmake生成pdf文件 1.下载安装pdfmake第三方包 npm i pdfma

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的

【北交大信息所AI-Max2】使用方法

BJTU信息所集群AI_MAX2使用方法 使用的前提是预约到相应的算力卡,拥有登录权限的账号密码,一般为导师组共用一个。 有浏览器、ssh工具就可以。 1.新建集群Terminal 浏览器登陆10.126.62.75 (如果是1集群把75改成66) 交互式开发 执行器选Terminal 密码随便设一个(需记住) 工作空间:私有数据、全部文件 加速器选GeForce_RTX_2080_Ti

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念