【SVN的使用-源代码管理工具-SVN介绍-服务器的搭建 Objective-C语言】

一、首先,我们来介绍一下源代码管理工具

通知

1.源代码管理工具的起源

通知

为什么会出现源代码管理工具,是为了解决源代码开发的过程中出现的很多问题:

1)无法后悔:把项目关了,无法Command + Z后悔,

2)版本备份:非空间、费时间、写的名称最后自己都忘了干什么的了,

3)版本混乱:因版本备份过多造成混乱,难以找回正确的版本,

4)代码冲突:多人操作同一个文件(团队开发中的常见问题)

5)权限控制:无法对源代码进行精确的权限控制

6)追究责任:出现了严重的Bug,无法得知是谁干的,容易耍赖,

源代码管理工具就是为了解决上述问题而生的,此乃软件开发的一大福音。

2.源代码管理工具的作用

通知

1)能追踪一个项目从诞生一直到定案的过程,你也可以理解为上架,

2)记录一个项目的所有内容变化

3)方便地查阅特定版本的修订情况

3.现在就开始使用源代码管理工具

通知

1)如果是团队开发,使用源代码管理工具是强制性的,

2)如果是单人开发,也强烈建议现在就开始使用源代码管理工具,如果使用了源代码管理工具,就不用像我们上课这样,复制粘贴好几份代码,第一份代码是功能一、第二份代码是功能一和功能二、第三份代码是功能一、功能二、功能三,

通知

如果你是单人开发的话,实际上,源代码管理工具也是可以的,加入你现在写到功能四了,你后悔了,打算从功能二重新写,那你直接可以回到二,然后接着写,

3.使用源代码管理工具,

通知

1)由于使用简单,不会增加工作量,做完一个功能,你就可以去提交一下,把代码放到服务器上,然后呢,下班儿走人之前也要提交一下,然后第二天上班儿的时候,再去下载一下,总之就是很简单,点几个按钮的事儿,

2)不会对现有的工作造成任何损害(坏的影响)

3)是一个合格的软件开发人员必须掌握的技术

4.常见的源代码管理工具

通知

1)CVS:开启版本控制之门,1990年诞生,“远古时代”的主流源代码管理工具,

2)SVN:全称是Subversion,集中式版本控制之王,是CVS的接班人,速度比CVS快,功能比CVS多且强大,

3)GIT:一款伟大的分布式源代码管理工具,目前被越来越多的开源项目使用,不过在国内企业尚未大范围普及,GIT是一个源代码管理工具,Github是一个网站,它的技术是基于GIT的,但是它本质上是两个东西,GIT是一个工具,Github是一个网站,它上传代码使用的是GIT而已,不仅仅是Github,开源中国这个网站,大家听过吗,开源中国,它里面也提供了一个开源项目的管理,它也是GIT的,开源中国那个网站,和Github实际上,是一个东西,它是基于GIT的,在做网站,Github和开源中国,也支持SVN,把SVN的代码提交到上边去,都可以,

GIT:不过在国内企业尚未大范围普及,GIT在iOS上面,总的来说没有SVN多

二、SVN介绍

1.这个SVN啊,

通知

SVN啊,我们,

通知

我们简单的介绍一下啊,

通知

1.左边的这个东西,叫服务器,有一个SVN的仓库,这个服务器,你可以把它想象成一个大的硬盘,SVN实际上,就是一个大的硬盘,到时候我们把本地的东西,放到这个大的硬盘上去,还可以更新啊,之类的,

右边的这三台电脑,就是三个人,每一个电脑,也有一个仓库,叫做本地源码,到时候,我们需要,把本地里面写的代码,放到服务器上,或者说,你刚来公司,你可能需要下载源码,我们有一个叫做Checkout的东西,Checkout,说通俗一点儿,就是下载代码,翻译过来叫做检出,

这个东西,只需要做一次,Checkout,只需要做一次,就是你刚去公司的时候,做一次,

其他的时候,我们再去下载,这个操作,叫做update,更新,

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/40182.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

易保全推动区块链应用与AI融合创新发展

数字化时代,区块链和人工智能技术作为当下两大“黑科技”,两者的深度结合,正在为企业数字化转型带来前所未有的机遇。 易保全作为国内权威的电子数据存证保全机构,积极探索两者的融合之道,将区块链的去中心化、不可篡…

【Threejs进阶教程-着色器篇】2. Uniform的基本用法与Uniform的调试

Uniform的基本用法与Uniform的调试 关于本Shader教程优化上一篇的效果优化光栅栏高度让透明度和颜色变的更平滑pow()函数借助数学工具更好的理解函数 Unifoms简介编写uniforms修改片元着色器代码借助lil.gui调试uniforms使用uniform控制颜色继续在uniforms添加颜色在着色器中接…

刷题Day41|322. 零钱兑换、279. 完全平方数、139.单词拆分

322. 零钱兑换 322. 零钱兑换 - 力扣(LeetCode) dp[j]:装满容量为j,最少物品为dp[j] 放物品i:dp[j - coins[i]] 1 dp[j] min(dp[j - coins[i]] 1, dp[j]); dp[0] 0; dp[非零] Integer.MAX_VALUE; 思路&…

C# —— Math对象

Math 数学类 提供了一些相关数学计算的属性和方法、四舍五入、向上求整、向下求整、开平方,几次方 最大值和最小值 sin cos 绝对值 方法 1.Math 常用的字段 Math.PI double x 2 * 180 / Math.PI; Console.WriteLine(x); 2 Math.Abs() 求绝对值 int a -3; Con…

西南交通大学【算法分析与设计实验5】

有障碍物的不同路径数量 实验目的 (1)理解动态规划算法的求解过程。 (2)分析动态规划算法的时间复杂度,比较动态规划算法与其他算法的效率差异。 (3)学会如何利用动态规划算法求解具体问题&…

git配置ssh-keygen -t rsa -c“xxxx@xxxx.com.cn出现Too many arguments.解决办法

git配置ssh-keygen -t rsa -c"xxxxxxxx.com.cn出现Too many arguments.解决办法 问题描述 配置Git公钥私钥时候输入命令ssh-keygen -t rsa -c"xxxxxxxx.com.cn出现Too many arguments. 解决办法: 提示输入的参数格式不正确,需要注意这几个地…

按是否手工执行测试的角度划分:手工测试、自动化测试

1.手工测试(Manual testing) 手工测试是由人一个一个的输入用例,然后观察结果,和机器测试相对应,属于比较原始但是必须的一个步骤。 由专门的测试人员从用户视角来验证软件是否满足设计要求的行为。 更适用针对深度…

uniapp 开发备忘录-防坑指南

uniapp 开发备忘录-防坑指南 npm run dev:mp-weixin 编译微信小程序报错: [plugin:uni:mp-using-component] Expected ‘,’ or ‘}’ after property value in JSON at position 解决方案:升级uniapp 到最新 alpha 版。(2024年7月13日&am…

Markdown+VSCODE实现最完美流畅写作体验

​下载VSCODE软件 安装插件 Markdown All in One :支持markdown的语言的; Markdown Preview Enhanced :观看写出来文档的效果; Paste IMage :添加图片的 Code Spell Checker检查英文单词错误; 基础语法 标题 #一个…

【数据分享】《中国建筑业统计年鉴》2005-2022 PDF

而今天要免费分享的数据就是2005-2022年间出版的《中国建筑业统计年鉴》并以多格式提供免费下载。(无需分享朋友圈即可获取) 需要2023的数据的请添加小编咨询 数据介绍 在过去的十八个年头中,中国建筑业经历了翻天覆地的变化。从《中国建…

伺服调试三环讲解

在伺服调试过程中,有些项目要求不高,采用伺服自整定就可以调试好伺服,但有些项目对伺服有着比较高的要求,于是需要采取手动调试伺服参数,下面就介绍一下伺服三环参数的调试的方法。 三环指:电流环、速度环、位置环 带宽关系:电流环带宽>速度环带宽>位置环带宽 三环控…

基于Hadoop平台的电信客服数据的处理与分析③项目开发:搭建基于Hadoop的全分布式集群---任务7:格式化并启动Hadoop集群

任务描述 任务内容为格式化并启动Hadoop集群,并修复可能出现的Bug。 任务指导 Hadoop集群启动前需要在NameNode上格式化元数据,成功格式化后才能启动Hadoop的HDFS和YARN。 格式化启动Hadoop集群的步骤如下: 1. 在NameNode(ma…

约束:对于数据的限制

主键约束 主键约束:唯一约束非空约束,该字段上的数据不能重复且不能为null 注意:一张表必须有且只有一个主键 添加主键约束 -- 方式一(推荐) CREATE TABLE user(username VARCHAR(32) PRIMARY KEY,password VARCHAR(32),nick_name VARCHAR(3…

Java使用分布式锁来防止缓存穿透与雪崩

步骤如下: 1)选择合适的分布式锁实现:常见的分布式锁实现包括ZooKeeper、Redis和基于数据库等。根据具体情况选择最佳方案。 2)获取分布式锁:在需要进行操作时,首先尝试获取分布式锁。如果成功获取到&#…

C++文件系统操作2 - 跨平台实现文件夹的创建和删除

1. 关键词2. fileutil.h3. fileutil.cpp4. filesystem_win.h5. filesystem_win.cpp6. filesystem_unix.cpp7. 源码地址 1. 关键词 C 文件系统操作 创建文件夹 创建多级目录文件夹 删除文件夹 删除文件夹下的所有文件和子目录 跨平台 2. fileutil.h #pragma once#include <…

Linux中为什么etc是存放配置文件

在计算机系统中&#xff0c;/etc 是一个目录的名称&#xff0c;通常位于Unix和类Unix操作系统中&#xff0c;如Linux。这个目录用于存放系统配置文件。/etc 的命名来源于早期Unix系统中的 "etcetera"&#xff08;拉丁语 "et cetera" 的缩写&#xff0c;意为…

AI绘画Stable Diffusion超强提示词插件!一键翻译,AI帮你写提示词!

大家好&#xff0c;我是向阳。 对于AI绘画来说&#xff0c;提示词写得好坏&#xff0c;十分影响最终生成图片的结果。会写提示词的话&#xff0c;生成的图片质量就会比较高&#xff0c;不会写的话&#xff0c;结果可能就不会好。 之前大家在使用Stable Diffuison&#xff08;以…

《数据结构与算法基础 by王卓老师》学习笔记——2.5线性表的链式表示与实现1

1.链式表示 2.链表举例 3.链式存储的相关术语 4.三个讨论题

【linux/shell案例实战】解决Linux和Windows的换行符CRLF和LF问题

目录 一.什么是Linux 和 Windows 的换行符 CRLF 和 LF 二.使用Linux 中命令 dos2unix 和 unix2dos 实现CRLF 和LF的转换 三.使用 windows 中的代码编辑器实现 CRLF 和 LF 的转换&#xff08;Notepad&#xff09; 一.什么是Linux 和 Windows 的换行符 CRLF 和 LF CR是Carria…

英语中‘How often’,‘How long’和‘How soon’的区分用法

Spark: 在英语中&#xff0c;“How often”&#xff0c;“How long”&#xff0c;和“How soon”都是询问时间相关事宜的常用短语&#xff0c;但它们的用法各有不同。以下是对这三个短语的详细区分和用法说明&#xff1a; 1. How often 定义&#xff1a;用于询问某事件在一定…