为什么要学习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操作