Git 是以行为单位进行文件管理
一、分支管理
1. 什么是分支
2. 分支的好处
- 同时并行推进多个功能开发,提高开发效率
- 各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任 何影响。失败的分支删除重新开始即可。
3. 分支操作
1)创建分支 git branch[分支名]
2)查看分支 git branch -v
3)切换分支 git checkout[分支名]
注:-r 参数可以用来查看远程分支。
4)合并分支
解决冲突
冲突的表现
- 第一步:切换到接受修改的分支(被合并,增加新内容)上 git checkout[被合并分支名]
- 第二步:执行 merge 命令 git merge[有新内容分支名]
冲突的解决
- 第一步:编辑文件,删除特殊符号
- 第二步:把文件修改到满意的程度,保存退出
- 第三步:git add[文件名]
- 第四步:git commit -m "日志信息"
- 注意:此时 commit 一定不能带具体文件名
二、 Git 基本原理
1. 哈希
哈希是一个系列的加密算法,各个不同的哈希算法虽然加密强度不同,但是有以下 几个共同点:
- 不管输入数据的数据量有多大,输入同一个哈希算法,得到的加密结果长度固定。
- 哈希算法确定,输入数据确定,输出数据能够保证不变
- 哈希算法确定,输入数据有变化,输出数据一定有变化,而且通常变化很大
- 哈希算法不可逆
Git 底层采用的是 SHA-1 算法。 哈希算法可以被用来验证文件。
原理如下图所示:
2. Git保存版本的机制
集中式版本控制工具的文件管理机制
以文件变更列表的方式存储信息。这类系统将它们保存的信息看作是一组基本 文件和每个文件随时间逐步累积的差异。
Git 的文件管理机制
Git 把数据看作是小型文件系统的一组快照。每次提交更新时 Git 都会对当前 的全部文件制作一个快照并保存这个快照的索引。为了高效,如果文件没有修改, Git 不再重新存储该文件,而是只保留一个链接指向之前存储的文件。所以 Git 的 工作方式可以称之为快照流。
3. Git 文件管理机制细节
Git 的“提交对象”
提交对象及其父对象形成的链条
三、Git分支管理机制