【后端】版本控制

版本控制

1. 什么是版本控制?

版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。简单来说就是用于管理多人协同开发项目的技术。

2. 为什么需要版本控制?

没有进行版本控制或者版本控制本身缺乏正确的流程管理,在软件开发过程中将会引入很多问题,如软件代码的一致性、软件内容的冗余、软件过程的事物性、软件开发过程中的并发性、软件源代码的安全性,以及软件的整合等问题。无论是工作还是学习,或者是自己做笔记,都经历过这样一个阶段!我们就迫切需要一个版本控制工具。(多人开发就必须要使用版本控制)。


3. 分类

1. 本地版本控制

通过日期,保证每个不一样

2. 集中版本控制

所有的版本信息都在服务器上。

团队开发每个人都通过服务器拉取信息,自己在本地进行修改,修改之后提交到服务器上。

问题:对于本地的用户,需要联网。服务器损坏,信息就丢失了。

代表产品:SVN

3. 分布式版本控制

服务器上有这些信息,每个人本地的电脑上也有一份。用的时候可以不联网,也可获得信息。

好处:所有人都有完整的代码,服务器损坏不会造成不能工作。

安全隐患:所有人都有代码,万一这个人不安全。

代表产品:git


SVN和git的区别

SVN:

SVN是集中版本控制,所有的版本都是集中的放到中央服务器上,工作的时候用的是自己的电脑,所以想要工作的话,首先要从服务器当中去得到最新的版本,然后去工作,工作完成之后,把自己结束完成的信息推送到服务器。

必须得联网才能工作。

git:

git是分布式版本工作系统,每个人的电脑都有一个完整的版本库,所以在工作的时候不需要联网也行。如果修改文件,只需要把这个文件推送给对方,对方就知道修改了。

而且git工具里,可以看到更新了哪些内容。

相关推荐
驭渊的小故事12 小时前
linux 基础命令 + git 仓库创建和配置命令
linux·git
行者-全栈开发17 小时前
华为云码道 CodeArts 实测:让 AI 用 Rust 写一个 Git 仓库健康度体检台「仓衡」
git·rust·tauri·桌面应用·ai 编程·华为云码道·codearts 代码智能体
挖掘狂人3 天前
Git 从 0 到 1:用一个小项目走完 add / commit / reset / merge / rebase / push
git·后端·github
codigger3 天前
Git 三区域模型:把 add、commit、reset、merge 一次讲透
git·github·编程·编程语言
水饺编程3 天前
第1章:开发环境搭建,在 Windows 中安装 Git
linux·c语言·汇编·git·ubuntu
idanzk3 天前
Git 推送 GitHub 报 SSL_READ /src refspec main 不匹配 完整踩坑记录
git·github·ssl
星恒随风3 天前
Linux开发工具详解(二):Git版本控制、GitHub协作与GDB调试实战
linux·笔记·git·学习·github
寺中人4 天前
Xshell 完全入门指南:从安装到实战,远程连接+文件传输+会话管理全拆解
git·ssh·github·php·远程连接·xshell·运维工具
酬谢神明则必安4 天前
git学习记录01
linux·git·学习
lingchen19064 天前
版本控制 Git源代码项目管理
git