04 Git的前世今生 | 青训营笔记

71 阅读2分钟

为什么要学习Git

协同工作、开源社区

为什么要设计这门课程

1、配置以后拉取代吗有问题,缺少自己排查问题的能力

2、研发过程会进行一些异常操作,不符合研发规范,不清楚保护分支、不清楚保护分支、MR/PR等概念。

Git是什么

关键词:分布式版本控制系统

简单来说,就是可以记录我们的版本变化。

集中式版本控制:SVN

提供一个远端服务来保存文件,所有用户的提交都提交到该服务器中

优点:

1、分布式开发,每个库都是完整的提交历史,支持本地提交,强调个体

2、分支管理功能强大,方便团队合作,多人协同开发

3、校验和机制保证完整性,一般只添加数量,很少执行删除操作,不容易导致代码丢失。

git-lfs工具可以用来专门处理比较大的文件

1.1 Git发展历史

Github

全球最大的代码托管平台(全球最大的同性交友平台)

Gitlab

全球最大的开源代码托管平台,很多公司都在用。因为这里可以对自己的需求做一些私人的定制化服务。

Girrit

谷歌开发的托管平台,主要管理安卓开源项目

2.5

Blob

1、Commit会存储到对应的Tree ID

2、通过Tree存储的信息,获取到对应的目录树信息

3、从tree中获得blob的Id,通过Blob ID 获取对应的文件内容

查看可以使用 tree .git 命令

Git Gc

垃圾回收,并且对一些内容进行打包压缩,减小体积

就是删除一些过期的操作,并且对内容进行一些打包。

本质就是删除了不需要的object

git reflog expire - expire=now --all (指定目录时间)

git gc --prune=now

这就完成了gc操作