2023.12.4 GIT的概念和组成

目录

1.git的介绍

2.git的历史

开发者:Linus Torvalds

Linux的创始人

 3.git和svn的对比

svn:集中式管理

git:分布式管理

4.git管理的组成结构


1.git的介绍

        git是项目版本管理工具,能自动的将多个版本进行管理存储,类似于快照,多个人共享版本

        git的诞生:分布式项目管理工具,目前整个行业最流行最受欢迎的项目版本管理工具

2.git的历史

开发者:Linus Torvalds

  • Linux的创始人

  • Linux诞生以后,全球很多开发者开发了 很多个版本的Linux,提交给Linus Torvalds

  • Linus Torvalds 将优秀的代码集成在Linux内核中,手动管理所有的代码

  • Linus Torvalds 不喜欢传统的免费CVS等工具,因为这些工具不好用,好用的都收费

  • Linus Torvalds 先选择了一个商业化的工具BitKeeper ,达成协议可以免费使用

  • 于是团队中的一个哥们有个想法:能不能破解这个东西?

  • 被发现了:Linus Torvalds 保证不再破解

  • 到 2005 年的时候,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结

    束,他们收回了免费使用 BitKeeper 的权力

  • 两周以后,Linus Torvalds 自己用C语言开发了Git,使用了类似于Linux的管理方式

  • Linus Torvalds :将Linux的版本控制切换到Git上

    • Git的开发汲取了其他的版本控制工具的优点,避免了缺点


 

 3.git和svn的对比

svn:集中式管理

 

  • 所有版本的代码都集中在SVN的服务器上

  • 任何一个开发者,都只能连接SVN服务器,下载代码和上传新的版本

  • 集中式:所有的开发都围绕SVN服务器为核心

  • 缺点

    • 必须联网

      • 局域网:还是比较快的,但是回家以后就没办法开发了

        • 在公司下载好

        • 回家开发,只能开发一个版本

        • 回到公司上传这个版本

      • 互联网:特别慢

        • 在任何一个地方连接SVN服务器,进行下载和上传

    • 自己无法自动管理多个版本

    • SVN服务器存在单点故障:假如服务器崩了,所有东西就都没了


 

git:分布式管理

 

 

    • ==去中心化模式==

    • 优点

      • 不需要联网,自己的笔记本就是个本地版本库,直接利用自己的笔记本实现版本的管理

      • 自己可以管理任意多个版本

      • 不需要担心公共的版本库故障,每个人的本地都有版本库

Git的特点

  • 适合于分布式开发,多人可以共同开发,强调个体

  • 公共的版本库服务器的压力不会太大

  • 速度快、更加灵活

  • 任意的开发者之间如果产生冲突也容易解决

  • 不需要联网也可以实现多版本管理


4.git管理的组成结构

 

  • 本地版本控制Git服务器

    • ==工作区【Work Dir】==:就是你开发和修改代码的地方

    • ==暂存区【Index】==:临时存放你即将提交的版本的地方

      • 所有需要保存的版本必须先添加到暂存区

    • ==本地版本仓库【HEAD】==:本地的版本库,实现本地的版本的管理

      • 所有暂存区的版本会被提交到本地版本库

  • ==远程版本仓库==:用于共享项目代码版本

    • GitHub: GitHub: Let’s build from here · GitHub

    • Gitee: Gitee - 基于 Git 的代码托管和研发协作平台

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android 架构实战MVI进阶

MVI架构的原理和流程 MVI架构是一种基于响应式编程的架构模式,它将应用程序分为四个核心组件:模型(Model)、视图(View)、意图(Intent)和状态(State)。 原理&…

⭐ Unity + ARKIT 介绍 以及 平面检测的实现

在AR插件中,ARKIT是比较特殊的一个,首先他在很多追踪上的效果要比其他的AR插件要好,但是只能在IOS系统设备上运行。 1.首先ARKIT在最新版Unity已经集成在AR Foundation中,那我们就需要ARSession 和ARSessionOrigin这两个重要组件…

京东数据平台(京东商家数据):2023年10月京东饮料行业品牌店铺销量销额排行榜

鲸参谋监测的京东平台10月份饮料市场销售数据已出炉! 10月份,饮料市场整体销售上涨。根据鲸参谋平台的数据显示,今年10月份,京东平台饮料市场的销量为670万,同比增长约2%;销售额为3.8亿,同比增长…

盛元广通智慧水务实验室管理系统

盛元广通智慧水务实验室管理系统通过分析基础业务系统流程,对业务系统流程从项目管理、水样管理、易耗品管理、仪器设备管理、异常报警、数据分析方面、旨在提高水质监测工作的效率、准确性和数据管理能力。通过自动化系统的建设解决了自动化操控问题,实…

揭秘MySQL索引世界:概念、分类、应用场景一网打尽

一、索引概念 MySQL索引是一种用于提高数据库查询性能的数据结构。它允许数据库系统更有效地检索数据行,减少了在大型数据集中搜索特定数据的时间。索引的作用类似于书籍的目录,通过提供关键字与实际数据位置之间的映射,加速对数据库表中数据…

idea利用SpringMVC框架整合ThymeLeaf

简洁一些:两个重要文件 1.controller指定html文件:我们访问http://localhost:8080/test package com.example.appledemo.controller;import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import o…

ubuntu20.04使用LIO-SAM对热室空间进行重建

一、安装LIO-SAM 1.环境配置 默认已经安装过ros sudo apt-get install -y ros-Noetic-navigation sudo apt-get install -y ros-Noetic-robot-localization sudo apt-get install -y ros-Noetic-robot-state-publisher 安装 gtsam(如果是18.04的ubuntu直接按照官网配置&…

RabbitMQ 的七种消息传递形式

文章目录 一、RabbitMQ 架构简介二、准备工作 三、消息收发1. Hello World2. Work queues3. Publish/Subscrite3.1. Direct3.2. Fanout3.3. Topic3.4. Header 4. Routing5. Topics 大部分情况下,我们可能都是在 Spring Boot 或者 Spring Cloud 环境下使用 RabbitMQ&…

HTTPS 之fiddler抓包--jmeter请求

一、浅谈HTTPS 我们都知道HTTP并非是安全传输,在HTTPS基础上使用SSL协议进行加密构成的HTTPS协议是相对安全的。目前越来越多的企业选择使用HTTPS协议与用户进行通信,如百度、谷歌等。HTTPS在传输数据之前需要客户端(浏览器)与服务…

2023年,社媒营销的「心智王者」到底是谁?

“在未来社会,每个人都可能在15分钟内出名,并有机会出名15分钟。” ——安迪沃霍尔 2023年品牌营销,社交媒体是绝对主战场: 明星加持,玩转粉丝经济; “满天星”式种草,打造爆品; …

Burp suite抓虚拟机的包

参考:物理机burp抓虚拟机包) 打开物理机的Burp,Proxy->Proxy settings->Add->Specific address,挑个自己喜欢的(除了 127.0.0.1 和 IPV6 地址)。 端口号自己填一个。 打开虚拟机浏览器,Internet选…

代码随想录算法训练营第五十五天【动态规划part15】 | 392.判断子序列、115.不同的子序列

392.判断子序列 题目链接 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 求解思路 也可以用双指针来做。 动规五部曲 1.确定dp数组及其下标含义 以下标i-1为结尾的字符串s,和以下标j-1为结尾的字符串t,相同子序列的长度…

EtherCAT超高速实时运动控制卡XPCIE1032H上位机C#开发(四):板载IO与总线扩展IO的编码器与脉冲配置的应用

XPCIE1032H功能简介 XPCIE1032H是一款基于PCI Express的EtherCAT总线运动控制卡,可选6-64轴运动控制,支持多路高速数字输入输出,可轻松实现多轴同步控制和高速数据传输。 XPCIE1032H集成了强大的运动控制功能,结合MotionRT7运动…

自动化框架错误排查:本地全通过,pipline上大部分报错

现象: 最近经过一次切环境和验证码部分的代码重构,果不其然,我们的自动化框架就出错了 我在本地修改调试,并在堡垒机上全部跑过 但在pipline上则大部分报错 进一步排查 这么多case报错,而且报错log都一模一样,推断是底层出错 我在堡垒机上使用命令行来跑case,发现与…

vue 修改 this.$confirm 的文字样式、自定义样式

通常使用 confirm 确认框时&#xff0c;一般这样写&#xff1a; <template><el-button type"text" click"open">点击打开 Message Box</el-button> </template><script>export default {methods: {open() {this.$confirm(此…

14、pytest像用参数一样使用fixture

官方实例 # content of test_fruit.py import pytestclass Fruit:def __init__(self, name):self.name nameself.cubed Falsedef cube(self):self.cubed Trueclass FruitSalad:def __init__(self, *fruit_bowl):self.fruit fruit_bowlself._cube_fruit()def _cube_fruit(s…

揭秘预付费电表怎么无线收费——方便快捷收费

【摘要】针对目前市场上普遍以Ic卡作为售电介质的预付费售电系统存在的问题&#xff0c;介绍了一种新型的无线预付费售电系统及其构成&#xff0c;并给出了整个系统设计的完整方案。整个系统包括用户终端和电力管理系统端&#xff0c;它们之间通过双工通信可以将用户用电信息和…

科普类软文怎么写才能提高用户接受度?媒介盒子分享

科普类软文以干货为主&#xff0c;可以给用户带来实用价值&#xff0c;但是相应会比较枯燥。如何才能把科普内容讲得专业又有趣&#xff0c;从而提高用户接受度呢&#xff1f;媒介盒子接下来就分享三大技巧&#xff1a; 一、 联系产品选题 科普类软文想要写好就需要做好选题&…

如何使用Node.js快速创建本地HTTP服务器并实现异地远程访问

文章目录 前言1.安装Node.js环境2.创建node.js服务3. 访问node.js 服务4.内网穿透4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5.固定公网地址 前言 Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台运行环境。Node.js 由 OpenJS Foundation&#xff0…