1605_Git版本管理概念图解_git_for_computer_scientists阅读

news2024/11/18 3:41:46

         全部学习汇总: GitHub - GreyZhang/g_unix: some basic learning about unix operating system.

 

         目前没有很好的笔记分类放置这一份学习笔记,因为我的工具箱分类并不适合它。我之前的工具箱笔记主要还是简洁扼要来列出工具使用的参考,而这个其实是版本管理的一个学习。那么,既然我是因为看了OS的教程参考资料找到的这部分信息,暂且还是归类到这里面。阅读的这一份资料非常简短,但是的确是能够很好阐明版本管理的一些行为意图。

         在git的版本管理中,每一个提交都可以作为一个blob对象,而这样的对象不能够是一个孤立的对象。至少,他会跟某些节点产生一些联系。

         如果一个节点没有父提交,那么意味着这个节点是初始提交。有意思的是初始提交其实是可以有多个的,这通常意味着多个项目的合并。

1. 参考引用、head、branch等这样的额概念,其实只是一个标记不会存入到版本之中。

2. 通过提交动作可以整个管理树中增加节点。

3. HEAD是一个比较特殊的引用,因为它指向了另一个引用。

4. 远程引用与本地引用的差别在于指向的命名空间不同,远程引用的内容由远程机器控制,git只是引用它并且可以获得它的相关更新。

1. 什么是tag呢?tag既是一个图上的节点,又包含了标签信息。由此可以知道,tag本身其实是意味着有一次提交的。

2. Git库本质上是一系列的节点与标签的组合。

1. 图1表达的概念:当前的repo有本地以及远程引用,并且远程引用已经有了新的更新。然而,当前的repo使用的还是旧的远程版本。

2. 图2在图1的基础上,进行了本地与远程的合并。由于此时本地的库没有任何提交更新,因此这样的合并只是移动一下master标签即可。

3. 图3则复杂了一点,不仅有远程更新而且有了本地的提交更新。如此,版本需要进行合并处理。

1. 第一个图中,创建了一个新的节点e,其实只是为了合并本地以及远程分支。这里的节点e比较特殊,因为它有两个父提交。

2. 理解了第一个图,第二个图的理解就比较容易了。因为这只是相同的情况出现了多次的处理过程。

         这一页介绍了rebase的概念。通过描述可以知道,rebase其实是放弃了一部分之前的信息,这些信息可能是改变远程引用的指向,也可能只是放弃一些本地的信息。对于上面的图1来说,表达的概念其实是:我原本的repo使用了远程节点b,但是现在的c兴许更好,以后的开发使用大家都不要用b了,要去使用c。

         而这一个例子则更能够表达通用场景,结合上一页的原始图信息。我现在的repo引用了远程库的c,在此基础上有了本地的提交d2,又有了提交h。同时,本地库中基于远程引用的g也有了一个新的提交d3。之后,我觉得d3能够表达我现在对于开发最好的期待,因此我又增加了一次更新h2。这时候,我发现d2和h其实没什么用途了。我也不想其他人在此基础上继续开发,因此想要放弃这部分信息。于是,通过rebase可以直接把版本迁移到d3开始的主线上。结果,rebase的命令比较聪明,它发现我在d3基础上已经做了更新到了h2,因此它会把标签移动到h2作为master。

         原始阅读的时候,有些地方理解的并不是很准确,标注也不是很对。但是整理的过程中进行了一定的纠正,这也是整理笔记的意义所在吧!

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

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

相关文章

超导量子计算机

1.超导量子计算机发展状况 2018年3月5日美国物理学会年会上,谷歌展示了其正在测试的72量子位超导量子芯片Bristlecone。谷歌物理学家朱利安凯利表示,研讨团队希望初次运用更大的量子芯片来展现霸权,并完成传统计算机不能够完成的计算。芯片之…

React学习教程

React学习教程git地址React基础知识点1.什么是React (★★★)特点2.React脚手架2.1 使用React脚手架初始化项目2.2 项目目录说明调整JSX基础1. JSX介绍2. JSX中使用js表达式3. JSX列表渲染4. JSX条件渲染5. JSX样式处理6. JSX注意事项React组件1.React组…

监控系统的基本架构(Metric monitoring)

前言 最近准备做一个监控系统,正好看到了这篇文章,这篇文章很简单,但很清晰,结合原文的图片,我进行一下翻译。 原文地址 ByteByteGo 原文 A well-designed metric monitoring and alerting system plays a key rol…

YoLoV1~YoLoV3 SPP

截止到今日,差不多对深度学习有了一定了解了,从图像分类的各种神经网络再到YOLO系列的目标检测,一步一步的逐渐实现相应功能,但对于一些具体的代码细节、部分理论,后期可能还需要加强学习和理解。但是转眼也快开学了&a…

IB 课程的挑战 (一)

近年来许多学校都引入 IB 课程 (国际预科文凭课程),让家长在为子女安排升学路途上能有更多的选择。然而,学生在修读IB课程时会遇到什么挑战呢?以下我们就会为大家分享几个有关IB课程的挑战,让各位家长得以参考。 挑战一:时间分配…

ConstraintLayout 使用详解,减少嵌套 UI, 提升性能

前言 对于初学者来说,可能觉得ConstraintLayout属性多,且属性长而弃用它,那你错失了这个大宝贝。 因为在复杂布局,我们会一直用RelativeLayout和LinearLayout去嵌套,因为嵌套的ViewGroup会导致手机多次测量和绘制&am…

解剖华为 Mate 50 Pro主板

华为Mate 50 Pro整体拆解难度中等,可还原性强。主板则是采用堆叠结构,主板1正面主要IC包括高通骁龙84G处理器芯片…… 日前,有拆解机构对华为Mate 50 Pro整机进行了拆解,表示其内部的配件大约有90%是国产元器件,如屏幕…

【Node.js实战】一文带你开发博客项目之Express重构(初始化环境,处理 session,连接 redis)

个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,也会涉及到服务端 📃个人状态: 在校大学生一枚,已拿多个前端 offer(秋招) 🚀未…

循环UI列表

先看一下效果 支持自定义选项数量,按钮切换,鼠标滑动切换,当前项框选提示,选项缩放等功能 SlideSwitch:鼠标切换选项开关,关闭只能点击按钮切换 SlideOffset:滑动触发值,鼠标X轴向滑动大于此值切换选项,小于不触发 ScaleSwitch:缩放开关,开启…

乘法逆元 +数论分块 +平方和公式

年后准备学习啦,开学还得准备考试。 乘法逆元: 因为涉及到除法,所以取余这个操作就错误。 所以如果我们要求(a/b)%mod,我们可以假设 (a/b)%mod a*c%mod 那么c就是b的逆元。 怎么求逆元呢,其实有很多方法…

指定加拿大UBC|临床肿瘤专业应届博士成功获访问学者offer

G博士指定加拿大UBC,本人具有多年的临床工作经验,但科研产出较少。经过努力,最终我们落实了该校的访问学者职位。又历经半年的流程,G博士终于获得加拿大签证,前往UBC报到。建议:提前申请,预留出…

蓝桥杯刷题-入门题(终章一)

你是如风的少年~😃 空 清新民谣版 - 汪小敏 - 单曲 - 网易云音乐 自在的少年 - 要不要买菜 - 单曲 - 网易云音乐 最后15道入门题,做完这15道,NEWOJ就91道题AC了 目录 一,数根 二,最大值和最小值(I&…

Qt扫盲-QTime理论总结

QTime理论总结一、概述二、使用1. 属性获取2. 时间加减3. 字符串与QTime互转一、概述 QTime对象包含一个时钟时间,可以用小时数、分钟数、秒数和毫秒数来表示。它提供了比较时间和通过添加毫秒数来操作时间的函数。 QTime使用24小时时钟格式;它没有AM/…

bigemap如何设置等高线坐标系并输出

如何设置等高线坐标系并输出发布时间:2018-01-17 版权:投影设置及数据导出矢量等高线生成完成后(详细生成过程参加上一章节:矢量等高线生成),我们就能够设置投影和导出等高线数据。投影设置我们生成等高线默认的坐标是…

大数据集群环境搭建

文章目录本文要点内容大纲一、大数据集群环境搭建1.1、分布式、集群概念初识1.2、集群环境搭建1.2.1、虚拟机克隆1.2.2、修改IP、主机名1.2.3、主机名和IP映射配置1.2.4、防火墙关闭1.2.5、集群机器间免密登录1.2.6、跨机器远程copy文件1.2.7、集群的时间同步问题二、Centos软件…

【3】Linux权限管控

学习笔记目录 初识Linux--入门Linux基础命令--会用Linux权限管控--懂权限Linux实用操作--熟练实战软件部署--深入掌握脚本&自动化--用的更强项目实战--学到经验云平台技术--紧跟潮流 认知root用户 root用户(超级管理员) 无论是Windows、MacOS、L…

【iMessage苹果家庭推推送源码】掀开应用程序“终端”,输入CDDESKTOP运转指令证书

推荐内容IMESSGAE相关 作者✈️IMEAX推荐内容iMessage苹果推软件 *** 点击即可查看作者要求内容信息作者✈️IMEAX推荐内容1.家庭推内容 *** 点击即可查看作者要求内容信息作者✈️IMEAX推荐内容2.相册推 *** 点击即可查看作者要求内容信息作者✈️IMEAX推荐内容3.日历推 *** …

沁恒CH32V307单片机入门(01):基础说明与流程体验

文章目录目的基础说明芯片介绍资料与工具开发环境流程体验开发调试下载总结目的 工作这几年单片机主要就接触过 Atmel、Renesas、Microchip、ST 这些厂家的,最近几年因为内部外部的各种因素单片机的价格和供应都挺不稳定的,将来会发生什么也不好说。另外…

python jenkins使用方法/使用笔记

笔者也经常在网上查询信息,但发现很多信息都是照搬,内容甚至有错误,可用性很低.笔者就认为如果要分享就应该把遇到的问题真实的分享出来,让更多同路人少走弯路.节约时间.觉得这篇文章有帮助的同学可以点个赞!将真有用的信息传递给更多人!常用的方法安装 jenkins 依赖pip instal…

python+django校园失物招领系统_13i29.

用户注册:用户填写用户名、密码、年级、姓名、电话号码、邮箱 ,然后点击注册按钮进行注册。 用户登录:用户填写已经注册的用户名和密码并输入验证码,点击登录按钮进行登录。 搜索:用户可以在搜索栏输入关键字进行检索&…