声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。
SVN
SVN是干什么的?SVN的作用体现在协同开发上。什么意思?
假设有2个开发者,你写好了代码,交给我使用。你怎么给我?拿u盘拷贝?再假设,写好的代码每次都手动找到客户端上传代码到服务器上?这样的手段都太麻烦。
SVN它有客户端与服务器之分,客户端可以快速上传代码到服务器,另一个客户端则可以下载你刚才上传的代码。SVN的整体就像是资源共用。
演示:
先使用别人构建的SVN服务器,先注册
注册完成
点击创建项目:
填写一些信息
创建成功后,重要的信息是,用户名、密码、SVN地址
用户名密码,就是我们创建账户的用户名密码,上传的时候用户名密码就是身份验证。 SVN的地址是上传与下载的地址
创建成功后,我们拿到了3个信息。用户名,密码,地址。下面就可以使用SVN了
下载客户端:
安装后:
创建SVN的测试夹子,一个是上传一个是下载:
目前这两个夹子都是空的
我们在upload夹子中写上文件:
里面记录了一些内容,upload夹子中就有内容了。
写好了,假设这就是我们写好的代码,我们要上传到服务器上去。
退回到上一次选择到文件夹:
反键选择tortoiseSVN,tortoise翻译:乌龟。乌龟就是SVN的标志,这就是SVN。右键选择SVN选择import上传到服务器。
在弹出的对话框中,我们选择要上传到的服务器的地址,这个我们填写刚才申请的地址,点击OK。在弹出的对话框中填写用户名密码。
上传成功后,会告诉我们情况:
在另一个文件夹中,我们选择下载别人提交的资源:
填写地址
地址就是之前那个人上传的地址,他上传到哪里,我们就去哪个地址上取文件下来。
他会将那个地址中的资源全部下载下来,第一次也是需要身份验证的。
空文件夹子就有对方传递上去的资源了
我们对内容产生修改:
这个时候我们就不是又上传新的文件到地址上了,这里有2个选项:
一个是commit,一个是update,一个是提交一个是更新。提交是我编辑完了又提交到地址上。更新是对方编辑完了,我下载下来。
提交就不用上传了。因为服务器已经有一份了,我在提交就重名了,更新的意思是更新新的内容上去。
点击OK更新完毕:
对方也点击下载:
看到内容发送改变了:
下载后按钮变成了提交与更新:
我们这只是是同一个文件夹下,两个不同文件夹做交互。如果这两个文件夹分别是两个不同的客户端呢?这样不就是两端进行共享?
你写好了commit提交,你提交了我update更新即可。
当前要做到update与commit的要求是双方至少要有一次下载,即我上传到地址上,你下载了你就可以commit与update。我也需要在下载一次才能update与commit。
他们之间的都是文件夹之间的交互,是上传文件夹,下载文件夹。更新与提交也是对文件夹操作,对文件SVN反键没有看到上传与下载。
这就是SVN,对于协同合作的开发者来说,这样就有如在一个端进行操作。你提交我更新。我提交你更新。就无需文件之间的相互传递。但SVN提交的是目录,SVN是多个端共享一个服务器地址上的资源。
SVN多个客户端共享一个地址上的资源,只需要多个客户端填写相同的地址即可。这个资源的身份验证是靠用户名与密码来验证的。这样就有效的避免了传来传去的麻烦,只需要下载一次剩下的是提交与更新即可。
如果需要更换SVN地址呢?比如又和别人合作?
右键选择SVN再import:
填写新地址即可
别人要引入,在选择新的地址即可:
Vv文件夹中就有了cc提交的内容:
别人是看不到的,因为他们所属不再一个地址下,是不同的地址:
如果是更换仓库地址,则和之前仓库填写的信息不一样,则又会再次要求用户名与密码
但是也不影响其他地址库交互:
也就是一个客户端,可以交互多个地址,而不需要担心会不会混乱的情况
SVN在协同合作开发上,做到多个客户端共享一个资源仓库。下载、提交、更新。资源都在服务器上。客户端对共同的资源使用commit与update产生交互。
相关推荐
目前看来,他确实已经毁灭了我之前的架构(封印在SVN上很久了),接下来就看看他如何创建一个新的体系了。 先说说核心思想,我一直向开发人员推荐面向接口的编程思想,因为我觉得这是一个很Nice的指导方向,可以让...
* 时间:2013 年 6 月——2014 年 9 月 * 公司:咨元信息技术有限公司 * 部门:软件开发部 * 职位:java 软件工程师 * 所获证书:英语四级、计算机网络工程师四级 四、IT 技能 * 了解使用 Tomcat 服务器的 JSP/...
3. **版本控制系统**:设置 Git 或 SVN 进行版本控制。 4. **构建工具**:使用 Maven 或 Gradle 进行项目构建和依赖管理。 #### 总结 Java EE 架构设计是构建稳定、高效、可扩展企业级应用的关键。通过合理选择...
他在安徽省的一家公司——安徽米洛科技有限公司担任过JavaEE软件工程师的职务,主要负责软件编码工作,涵盖需求调研、分析和编码实现等多个方面。 在技能方面,景鑫展现了深厚的Java基础,精通Java初级和高级知识,...
- **复杂度管理**:通过将这些共性成分抽象出来形成一层软件——即中间件,可以在较高层次上维持系统的复杂度相对稳定。 - **定义**:中间件是一种位于操作系统之上、应用软件之下的软件层,用于简化应用程序开发和...
【课程设计报告书】——基于JavaEE的学生成绩管理系统/网上购书系统 课程设计报告书涵盖了在2014年第二学期,湖南工业大学计算机与通信学院软件工程专业111/112班级的一次分布式软件开发课程。学生们被分配到设计并...
简历中提到了一个具体的项目——裕隆佳田商贸综合管理系统,该项目采用Spring、Hibernate、Struts2、Oracle10g、Jbpm等技术构建,大大提高了工作效率,得到了公司的认可。在该项目中,工程师负责了业务模块划分、...
- **基于SVN库持续构建Spring源码**:介绍了如何通过Subversion (SVN) 源代码管理系统来获取Spring的源代码,并设置自动化构建环境。 #### 三、控制反转容器 - **DI及Spring DI概述**: - **面向JavaME/JavaSE的...
**J2EE开发工具教程——Eclipse 3.2.1及插件安装基础** 在Java企业级应用开发中,Eclipse是一款广受欢迎的集成开发环境(IDE)。本教程将聚焦于Eclipse 3.2.1版本及其插件的安装与使用,这将为你的J2EE开发之旅奠定...
JavaEE阶段** - **Struts2视频教程** - Struts2框架介绍。 - 配置文件解析。 - Action类设计。 - **Hibernate4视频教程** - ORM技术原理。 - Hibernate配置与映射文件。 - 查询语言与缓存机制。 - **...
【求职意向】明确指出了期望的职位——Java/JavaEE开发工程师,期望的月薪和工作地点,让招聘方一目了然地知道求职者的就业期望。 【自我评价】部分,求职者强调了自身的好学精神、解决问题的能力,以及在团队中...