Git前言(版本控制)

1.Git

目前世界上最先进的分布式版本控制系统。
git官网:https://git-scm.com/

2.版本控制

2.1什么是版本控制

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

  • 实现跨区域多人协同开发
  • 追踪和记载一个或者多个文件的历史记录
  • 组织和保护你的源代码和文档
  • 统计工作量
  • 并行开发、提高开发效率
  • 追踪记录整个软件的开发过程
  • 减轻开发人员的负担,节省时间,同时降低人为错误

简单来说就是用于管理多人协同开发项目的技术。

没有进行版本控制或者版本控制本身缺乏正确的流程管理,在软件开发过程中将会引入很多问题,如软件代码的一致性、软件内容的冗余、软件过程的事物性、软件开发过程中的并发性、软件源代码的安全性,以及软件的整合等问题。

2.2版本控制分类

(1)本地版本控制

记录文件每次的更新,可以对每个版本做一个快照,或是记录补丁文件,适合个人用,如RCS。

(2)集中版本控制

所有的版本数据都保存在服务器上,协同开发者从服务器上同步更新或上传自己的修改,本地只有自己以前所同步的版本,如果不联网的话,就看不到历史版本,也无法切换版本验证问题,或者不同分支工作。而且所有数据都保存在单一的服务器上,有很大的风险这个服务器会损坏,这样就会丢失所有的数据,当然可以定期备份。代表产品:SVN、CVS、VSS

(3)分布式版本控制

所有版本信息仓库全部同步到本地的每个用户,这样就可以在本地查看所有版本历史,可以离线在本地提交,只需要在连网时push到相应的服务器或其他用户哪里。由于每个用户那里保存的都是所有的版本数据,只要有一个用户的设备没有问题就可以恢复所有的数据,但这增加了本地存储空间的占用。如:Git

3.Git与SVN

最主要的区别:
SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而工作的时候,用的都是自己的电脑,所以首先要从中央服务器得到最新的版本,然后工作,完成工作后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,对网络带宽要求较高。
Git是分布式版本控制系统,没有中央服务器,每个人的电脑就是一个完整的版本库,工作的时候不需要联网了,因为版本都在自己电脑上。协同的方法是这样的:比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需要把各自的修改推送给对方,就可以互相看到对方的修改了。

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

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

相关文章

调试正常 ≠ 运行正常:Keil5中MicroLIB的“量子态BUG”破解实录

调试正常 ≠ 运行正常:Keil5中MicroLIB的“量子态BUG”破解实录——从勾选一个选项到理解半主机模式,嵌入式开发的认知升级 📌 现象描述:调试与烧录的诡异差异 在线调试时 程序正常运行 - 独立运行时 设备无响应 ! 编译过程 0 Err…

算法每日一练 (9)

💢欢迎来到张胤尘的技术站 💥技术如江河,汇聚众志成。代码似星辰,照亮行征程。开源精神长,传承永不忘。携手共前行,未来更辉煌💥 文章目录 算法每日一练 (9)最小路径和题目描述解题思路解题代码…

【高项】信息系统项目管理师(四)项目整合管理【4分】

一、管理基础 项目整合管理的责任不能被授权或转移,项目经理必须对整个项目承担最终责任。 执行项目整合时项目经理承担双重角色: 1、组织层面上,项目经理扮演重要角色,与项目发起人携手合作,了解战略目标并确保项目目…

ECEF与ENU坐标系定义及C语言实现

一、ECEF与ENU坐标系定义 ECEF坐标系(地心地固坐标系) 原点:地球质心X轴:指向本初子午线与赤道交点Y轴:在赤道平面内与X轴垂直Z轴:指向北极数学表示: P e c e f ( x , y , z ) P_{ecef} (x,…

sql语句分页的关键字是?

在 SQL 中,分页通常是通过限制查询结果的数量并指定从哪一行开始获取数据来实现的。不同的数据库系统使用不同的分页关键字。 以下是常见数据库系统的分页关键字: MySQL / PostgreSQL / SQLite 使用 LIMIT 和 OFFSET 来进行分页: LIMIT 限…

大模型中的剪枝、蒸馏是什么意思?

环境: 剪枝 蒸馏 问题描述: 大模型中的剪枝、蒸馏是什么意思? 解决方案: 大模型的剪枝(Pruning)和蒸馏(Distillation)是两种常见的模型优化技术,用于减少模型的大小…

初次体验Tauri和Sycamore(3)通道实现

​ 原创作者:庄晓立(LIIGO) 原创时间:2025年03月10日(发布时间) 原创链接:https://blog.csdn.net/liigo/article/details/146159327 版权所有,转载请注明出处。 20250310 LIIGO备注&…

代码随想录|二叉树|07二叉树周末总结

对前面01~06二叉树内容进行小结,直接看下面的总结文档: 本周小结!(二叉树) | 代码随想录

蓝耘赋能通义万相 2.1:用 C++ 构建高效 AI 视频生成生态

目录 开篇:AI 视频生成新时代的号角 通义万相 2.1:AI 视频生成的领军者 核心技术揭秘 功能特点展示 与其他模型的全面对比 C:高效编程的基石 C 的发展历程与特性 C 在 AI 领域的广泛应用 通义万相 2.1 与 C 的完美融合 融合的意义与…

【一句话经验】ubuntu vi/vim 模式自动设置为paste

从centos过来,发现ubutun有些地方不习惯,尤其是vi的粘贴,默认自动进去了代码模式,导致每次粘贴必须得set paste,否则会出现问题。 解决办法非常简单,按照下面命令执行即可: cd ~ echo "…

自然语言处理文本分析:从词袋模型到认知智能的进化之旅

清晨,当智能音箱准确识别出"播放周杰伦最新专辑"的模糊语音指令时;午间,企业舆情系统自动标记出十万条评论中的负面情绪;深夜,科研人员用GPT-4解析百万篇论文发现新材料线索——这些场景背后,是自…

《Python基础教程》附录B笔记:Python参考手册

《Python基础教程》第1章笔记👉https://blog.csdn.net/holeer/article/details/143052930 附录B Python参考手册 Python标准文档是完整的参考手册。本附录只是一个便利的速查表,当你开始使用Python进行编程后,它可帮助你唤醒记忆。 B.1 表…

uniapp+Vue3 组件之间的传值方法

一、父子传值&#xff08;props / $emit 、ref / $refs&#xff09; 1、props / $emit 父组件通过 props 向子组件传递数据&#xff0c;子组件通过 $emit 触发事件向父组件传递数据。 父组件&#xff1a; // 父组件中<template><view class"container">…

【MySQL篇】MySQL基本查询详解

目录 前言&#xff1a; 1&#xff0c;Create 1.1&#xff0c;单行数据全列插入 1.2&#xff0c;单行数据指定列插入 1.3&#xff0c;多行数据全列插入 1.4&#xff0c;多行数据指定列插入 1.5&#xff0c;插入否则更新 1.6&#xff0c;替换 2&#xff0c;Retrieve …

【Python入门】一篇掌握Python中的字典(创建、访问、修改、字典方法)【详细版】

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;《Python/PyTorch极简课》_十二月的猫的博客-CSDN博客 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目…

每日一题——两数相加

两数相加 问题描述问题分析解题思路代码实现代码解析注意事项示例运行总结 问题描述 给定两个非空链表&#xff0c;表示两个非负整数。链表中的每个节点存储一个数字&#xff0c;数字的存储顺序为逆序&#xff08;即个位在链表头部&#xff09;。要求将这两个数字相加&#xff…

制作自定义镜像

1. 确定软件包 确定自己的环境都需要哪些命令&#xff0c;然后&#xff0c;从镜像文件或者yum源下载响应的安装包。 bash基本是必选的 &#xff08;bash-5.1.8-10.oe2203sp2.aarch64.rpm&#xff09; vim也是有必要的 &#xff08;vim-enhanced-9.0-15.oe2203sp2.aarch64.rpm…

WHAT - 前端性能指标

目录 核心 Web Vitals&#xff08;Core Web Vitals&#xff09;加载性能指标网络相关指标交互和响应性能指标内存与效率指标推荐的监控工具优化策略与建议推荐学习路线 作为前端开发者&#xff0c;理解并掌握关键的性能指标对优化 Web 应用至关重要。 以下是前端性能优化中常见…

C++20 模块:告别头文件,迎接现代化的模块系统

文章目录 引言一、C20模块简介1.1 传统头文件的局限性1.2 模块的出现 二、模块的基本概念2.1 模块声明2.2 模块接口单元2.3 模块实现单元 三、模块的优势3.1 编译时间大幅减少3.2 更好的依赖管理3.3 命名空间隔离 四、如何使用C20模块4.1 编译器支持4.2 示例项目4.3 编译和运行…

Apache Hudi 性能测试报告

一、测试背景 数据湖作为一个集中化的数据存储仓库,支持结构化、半结构化以及非结构化等多种数据格式,数据来源包含数据库数据、增量数据、日志数据以及数仓上的存量数据等。数据湖能够将这些不同来源、不同格式的数据集中存储和管理在高性价比的分布式存储系统中,对外提供…