Git分布式版本控制系统

【Git】分布式版本控制系统 git是目前世界上最先进的分布式版本控制系统(没有之一)。git 的重要性在这里就不多说了,只要是公司的多人开发项目基本用的都是 git,进项目组的时候 leader 让你拉下代码,提交下代码,要是说不会的话真的就尬住了。目前我学习的重点在“更好的使用 git”而不是“研究 git”。 阅读详情

1.简介

Git是一个开源的分布式版本控制系统,
是目前世界上最快、最简单、也是最流行的版本控制工具,
它可以有效、高速的管理从很小到非常大的项目版本。
Git是Linus Torvalds为了帮助管理Linux内核源码,
而开发的一款开源的免费的版本控制工具。

Git主要用途:
1.保存每一次修改,便于追踪查看项目中所有文件的变化;
2.同时使用多种方式实现一个任务(并行分支),然后挑选最好的实现留下;
3.方便多人协作开发同一个项目,保持项目的一致。

2.版本控制系统

版本控制系统是一种记录一个或多个文件内容变化,
以便将来查阅特定版本修订情况的系统。
该系统通常用于管理软件源代码文件的版本,
实际上对任何类型的文件都能进行版本控制。

如果你是位作家或设计师,
可能会需要保存某个文件的所有修订版本,
通常情况下需要手动备份这些文件。
采用版本控制系统(VCS)管理所有文件版本,
可以回溯文件之前的所有状态,
甚至整个项目回退到某个历史状态。
这样就可以随心所欲的进行创作,
而不用担心修改之前的文件丢失问题。
你可以比较文件两个版本之间的变化,
查看项目中其他人的修改记录,
即使有人误改误删项目中的文件,
也可以轻松恢复到原样。

3.本地版本控制系统

通常大家会复制整个目录来备份项目和文件,
或许还会改名加上备份时间以示区别。
不过有时候会混淆所在的工作目录,
一旦弄错文件丢了数据就没法撤销恢复。
为了解决这个问题,
人们开发了许多种本地版本控制系统,
大多都是采用某种简单的数据库来记录文件的历次更新差异。


11810589-f971406863b41f6c.png

4.集中式版本控制系统

接下来人们又遇到一个问题,
如何让在不同电脑上的开发者协同工作?
于是集中化的版本控制系统应运而生。
这类系统有CVS,SVN等,
它们有一个集中管理的服务器,
保存所有文件的修订版本,
而协同工作的人们通过客户端连接服务器,
取出最新的文件或者提交文件。


11810589-2b08d939a2ef53b3.png

相较于本地版本控制系统,
每个人都可以看到项目中的其他人正在做些什么。
管理员也可以轻松掌控每个开发者的权限,
并且管理一个集中系统远比维护各个终端本地数据库容易。

缺点是中央服务器的单点故障,
如果服务器宕机,那么在这段时间内,
谁都无法提交更新,也就无法协同工作。
要是中央服务器的磁盘发生故障,
而没有备份,就会有丢失数据的风险。
同样本地版本控制系统也存在类似问题。
集中式版本控制系统最大问题就是必须联网,
而且对带宽和网速要求很高,
如果在局域网内还好,带宽和速度通常是够的,
否则既不能提交也不能回滚,
更不能查看文件的历史记录,
对于使用者的工作效率是个巨大的打击。

5.分布式版本控制系统

于是分布式版本控制系统面世了。
这类系统有Git,Mercurial等,
客户端并不只提取最新版本的文件快照,
而是把代码仓库完整地镜像下来。
这么即使任何一处协同工作用的服务器发生故障,
事后都可以用任何一个客户端镜像出来的本地仓库恢复。
因为每一次的提取操作,
实际上都是一次对代码仓库的完整克隆,
通过这种机制实现了分布式去中心化。


11810589-6cfc3301a1d83529.png

这类系统可以指定和多个不同的远端代码仓库进行交互。
你可以在同一个项目中,分别和不同工作小组的人相互协作。
你可以根据需要设定不同的协作流程,比如层次模型式的工作流,
而这在以前的集中式系统中是无法实现的。

6.Git和SVN区别

我们使用比较多的集中式版本控制系统是SVN,
经常会拿来和分布式版本控制系统Git进行比较,
Git本地仓库包含代码库还有历史库,
在本地的环境开发就可以记录历史,
而SVN的历史库存在于中央仓库,
每次对比与提交代码都必须连接到中央仓库才能进行。
使用SVN必须联网,否则只能罢工,
而Git只在和他人同步代码时需要联网,
由于Git本地记录和分支的关系,
合并同步代码的工作也非常方便。
当然Git的优势不单是不必联网这么简单,
还有Git极其强大的分支管理,
在Git中创建一个分支或者标签是非常简单的,
但是SVN创建一个分支就必须复制整个目录,
这就把SVN等远远抛在了后面。
另外SVN必须有一个"中央服务器",
而Git每一个客户端都可以作为服务器,
通常我们会约定一个"伪中央服务器"同步代码。

7.伪中央服务器

分布式版本控制系统根本没有"中央服务器",
每个人的电脑上都是一个完整的版本库,
那么多人开发如何协作呢?
比如你在自己电脑上改了文件A,
你的同事也在他的电脑上也改了文件A,
这时你们俩之间只需把各自的修改推送给对方,
就可以互相看到对方的修改了。

在实际使用分布式版本控制系统的时候,
很少在两人之间的电脑上推送版本库的修改,
因为可能你们俩不在一个局域网内,
两台电脑互相访问不了,
也可能今天你的同事请假了,
他的电脑压根没有开机。
因此分布式版本控制系统通常有一台"伪中央服务器",
但这个服务器的作用仅仅是用来方便"交换"大家的修改,
没有它大家也一样干活,
换一台服务器作为"伪中央服务器"也很方便。

8.参考

Git官方教程中文版(支持多语言)
Git教程_廖雪峰的官方网站

GIT(分布式版本控制系统)入门 什么是GIT  Git是目前世界上最先进的分布式版本控制系统(没有之一)。      那么问题来了,什么是分布式版本控制系统。      这里举个例子,你需要编写一个文档,这个文档呢财务部需要,产品部也需要。那么你要怎么写呢。无非这样做,先写一部分部门的材料,保存下来一个版本,交给他们,再添加一部分材料保存另一个版本交给另外的部门。如果涉及到多个部门,可能你需要写多个版本,都保存下来。然而, 阅读详情

相关推荐

【深度解析】信息素养提升实践活动(附:历年获奖作品分析)

全国师生信息素养提升实践活动是由教育部教育技术与资源发展中心(中央电化教育馆)主办,面向全国师生的一项信息化交流展示活动。

m0_74417957的博客 9652

分布式版本控制系统——Git

前言 今天我们来聊聊分布式版本控制系统——Git,废话不多说我们直接开始吧,喜欢的记得关注我哟。 一、Git简介 (一)什么是Git? Git是一个开源的分布式版本控制系统(Distributed Version Control System,简称DVCS)。可以有效、高速地处理从很小到非常大的项目版本管理。 (二)什么是版本控制系统? 版本控制系统能追踪项目,从开始到结束的整个过程。对编程人员而言,版本控制技术是团队协作开发的桥梁,助力于多人协作同步进行大型项目开发。软件版本控制系统的核心任务

qishuzdh的博客 2117

汽车TARA分析实战:从威胁建模到安全需求落地的完整指南

在汽车电子电气系统开发中,威胁分析与风险评估(TARA)是确保功能安全与网络安全的核心方法论。其原理在于通过结构化的流程,系统性地识别资产、分析威胁场景并评估风险,旨在将安全理念前置,从设计源头规避风险。这一过程的技术价值在于将模糊的安全担忧转化为可量化、可追溯的工程需求,从而指导资源精准投放,是符合ISO 26262和ISO/SAE 21434标准要求的关键实践。其应用场景贯穿智能汽车从概念设计到系统开发的各个阶段,尤其对于涉及自动驾驶、智能座舱、车云通信等复杂功能的域控制器开发至关重要。本文聚焦于TAR

weixin_42706667的博客 305

Git 版本控制系统

Git版本控制系统 一、概述 https://git-scm.com/ Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. 版本控制是一种...

高興 1141

C# WPF上位机开发(利用tcp/ip网络访问plc)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 c# wpf如果是用来开发非标上位机的,那么和plc的通信肯定是少不了的。而且,大部分plc都支持modbus协议,所以这个时候如果有一个库可以帮助我们和plc设备进行modbus通信,那就非常方便的。目前NuGet下关于modbus的函数库还是有一些的,比如EasyModbus。

嵌入式-老费,一个分享专业嵌入式知识的blog 2529

redhawk:avgTW maxTW minTW minWC的区别

分析dynamic ir drop报告时会遇到这几个值,avgTW maxTW minTW minWC,如下图。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 694

GIT概述

1、Git是一个开源的分布式版本控制系统(DistributedVersionControlSystem,简称DVCS)。可以有效、高速地处理从很小到非常大的项目版本管理。 2、GIT的基本流程 3、GIT的下载安装 下载地址:https://git-scm.com/download 傻瓜式安装 Git GUI Here:Git提供的图形界面工具 Git Bash Here:Git提供的命令行工具 安装成功后右键 4、GIT的基本配置 ...

weixin_43817552的博客 783

华为OD机试 - 去除多余空格(Python/JS/C/C++ 2024 E卷 100分)

本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。去除文本多余空格,但不去除配对单引号之间的多余空格。给出关键词的起始和结束下标,去除多余空格后刷新关键词的起始和结束下标。条件约束:输入为两行字符串:第一行:待去除多余空格的文本,用例保证如果有单引号,则单引号成对出现,且单引号可能有多对。 第二

学Java,找哪吒 1216

Git分布式版本控制工具简单介绍

目录 1. Git概述 1.2 Git与SVN对比 1.3 Git工作流程 2. Git代码托管服务 2.1 常用的Git代码托管服务 3. Git常用命令 3.1 环境配置 3.2 获取Git仓库 3.2.1在本地初始化一个Git仓库 3.2.2从远程仓库克隆 3.3工作目录、暂存区以及版本库概念 3.4 Git工作目录下文件的两种状态 3.5 本地仓库操作 3.6 远程仓库操作 3.6.1查看远程仓库 3.6.2 添加远程仓库 3.6.3 从远程仓库克隆 3.6.4

不想掉头发$的博客 232

使用 Simulink + Simscape Electrical 对 级联H桥多电平整流器并网功率分配 进行建模与仿真

摘要:本文详细介绍了基于Simulink对级联H桥(CHB)多电平整流器并网功率分配进行建模的方法。内容包括系统组成、功率分配意义、Simulink建模流程、PWM控制策略实现、功率分配算法设计以及仿真分析。重点阐述了主电路搭建、双环控制结构(外环功率分配+内环电流控制)和载波层叠PWM调制技术,并提供了功率分配算法示例。通过优化参数和控制算法,可提升系统性能。该建模方法为电力电子变换器和新能源并网系统研究提供了有效工具。

amy_mhd的博客 252

PCL 点到面的ICP算法【2024最新版】

经典的点到面的ICP算法。博客长期更新,本文最新更新时间为:2024年10月18日。

点云侠的博客 36万+

git 开源的分布式版本控制系统

Git 基础概念 Git 是一个开源的分布式版本控制系统,是目前世界上最先进、最流行的版本控制系统。可以快速高效地处理从很小到非常大的项目版本管理。 **特点:**项目越大越复杂,协同开发者越多,越能体现出 Git 的高性能和高可用性! 1.0 Git 的特性 Git 之所以快速和高效,主要依赖于它的如下两个特性: 直接记录快照,而非差异比较 近乎所有操作都是本地执行 2.0 Git 中的三个区域 使用 Git 管理的项目,拥有三个区域,分别是 工作区 、 暂存区 、 Git 仓库 。 3.0 Git

m0_55170432的博客 716

华为面试手撕真题【字符串压缩】

华为面试手撕真题【字符串压缩】

MISAYAONE的博客 1万+

Git之分布式版本控制系统

本文从Git为什么被称为分布式控制版本系统引入,介绍了如何创建,克隆远程仓库以及如何向远程仓库推送本地的内容,将远程仓库中的内容拉取到本地。同时还介绍了Git中标签的概念,相信会对大家的日常工作带来帮助。

一只小卷毛的博客 922

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Git 分布式版本控制系统

版本控制系统是一种记录文件变更历史的系统,它允许开发者跟踪文件的修改、还原特定版本、并在多个用户之间协同工作。VCS 主要有两种类型:集中式版本控制系统(Centralized VCS,如 SVN)和分布式版本控制系统(Distributed VCS,如 Git)。

Cqssss_的博客 1739

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

分布式版本控制系统Git介绍

Git 是一款开源的分布式版本控制系统,具备分布式、轻量级分支、强大的协作能力以及适用于大小项目的版本管理。本文简要介绍Git工具的特性、Git中的对象以及分支管理,以加深了解。

牧羊人的方向 1663

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

GIT分布式版本控制系统的安装和配置

9、选择 SSH 可执行程序,第一个是使用 Git 自带的 OpenSSH,第二个是使用外部的 OpenSSH,新手选择第一个即可,点击"Next"14、选择凭据助手,默认第一个即可,可“记住” 你的远程仓库密码,不用每次输入密码,点击"Next"7、初始分支选择,第一个默认master,第二个自定义初始分支,选择完毕后,点击"Next"13、配置 git pull 默认行为 ,新手默认第一个即可,点击"Next"16、完成Git安装向导,默认即可,点击"Next",完成安装。

iOS_HC的博客 968

git分布式版本控制系统

Git是一个开源的分布式版本控制系统,由Linus Torvalds创建,用于有效、高速地处理从小到大的项目。Git是目前世界上最流行的版本控制系统,广泛应用于软件开发中,用于代码的版本控制和协同工作。:Git给予每个开发者一份完整的代码库工作副本(包括所有版本信息),这意味着即使在无网络连接的情况下,也可以进行大部分Git操作。:Git在合并、分支、切换等操作上非常快速,它的速度是许多其他版本控制系统无法比拟的。:Git通过SHA-1哈希算法保护代码和历史记录的完整性,确保代码不会在传输过程中损坏。

mj256115的博客 1027

分布式版本控制系统 Git

文章目录分布式版本控制系统 Git关于版本控制分布式版本控制系统安装 Git在 Linux 上 安装在 Mac 上安装在 Windows 上安装Git 基础获取 Git 仓库在已存在的目录中初始化仓库克隆服务器上的仓库添加文件到仓库跟踪新文件提交文件总结 分布式版本控制系统 Git 关于版本控制 版本控制是一种记录一个或若干个内容变化,以便将来查阅特定版本修订的情况的系统。 分布式版本控制系统...

"大梦三千秋的博客 942

Git----分布式版本控制系统

Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或大或小的项目。它是世界上目前最先进的分布式版本控制系统。Git是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源代码的版本控制软件。Git与常用的版本控制工具CVS、Subversion等不同,它采用了分布式版本库的方式,不用服务器端软件支持。

qq_52049228的博客 1248

git---分布式版本控制系统

因为近期需要团队配合流浪猫协会进行一个流浪猫系统的开发,git的使用还没有系统学习,为了方便项目的搭建与更好的掌握,写下本篇博客文章。在开发过程中,用于管理开发者对文件目录或者工程等内容的修改历史,方便查看更改历史记录,备份。以便恢复以前的版本的软件工程技术。用于管理多人协同开发项目的技术没有进行版本控制或者版本控制本身缺乏正确的流程管理,在软件开发过程中就会出现很多问题。软件代码的一致性问题软件内容的冗余软件过程的事物性软件开发过程中并发性软件源代码安全性软件整合问题。

2401_88683087的博客 1130

GIT(分布式版本控制系统)

GIT (分布式版本控制系统) 编辑 Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。[1] Git的读音为/gɪt/。 Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。[2] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Torvalds 开

m15712884682的博客 1177

工具:Git分布式版本控制系统

工具:Git分布式版本控制系统

专注生信领域 1416
上一篇: versions-maven-plugin插件批量修改版本号
下一篇: 显示器接口VGA、DVI、HDMI、DP
木木与呆呆
博客等级 码龄16年 99粉丝 196原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值