git和GitHub的使用(三)

104 阅读3分钟

彻底删除文件

删除一个文件可以使用git rm 文件名 。但是使用git status查询时文件继续存在。

git commit -m "commit deleted files"  清除暂存区的deleted前缀的删除文件

 

git分支管理

什么是分支

在版本控制的过程中,使用多条线同时推进多个任务。

在 Git 中提交时,会保存一个提交(commit)对象,该对象包含一个指向暂存内容快照的指针,包含本次提交的作者等相关附属信息,包含零个或多个指向该提交对 象的父对象指针:首次提交是没有直接祖先的,普通提交有一个祖先,由两个或多个分支合并产生的提交则有多个祖先。

各个分支之间互不干扰

分支的好处

同时并行推进多个功能开发,提高开发效率。

各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。

创建分支:git branch 分支名

查看分支:git branch -v

切换分支:git checkout 分支名

合并分支

第一步:切换到接受修改的分支(被合并,增加新内容)上   git checkout 被合并的分支名

第二步:支持merge命令   git merge 有新内容的分支名

 

例子:

修改a.txt内容

切换分支,然后合并分支

原先分支的内容改变

 

冲突的解决
◆第一步: 编辑文件,删除特殊符号
◆第二步: 把文件修改到满意的程度。保存退出

◆第三步: git add [文件名]
◆第四步: git commit m "日志信息"
●注意: 此时commit定不能带具体文件名

 

Git基本原理

哈希

哈希是一个系列的加密算法。各个不同的哈希算法虽然加密强度不同。但是有以下几个共同点:
①不管输入数据的数据量有多大。输入同一个哈希算法。得到的加密结果长度固定。

②哈希算法确定。输入数据确定。输出数据能够保证不变
③哈希算法确定。输入数据有变化。输出数据一定有变化。而且通常变化很大

哈希算法不可逆
Git底层采用的是SHA-1算法。

 

Git保存版本的机制

集中式版本控制工具的文件管理机制

以文件变更列表的方式存储信息,这类系统将它们保存的信息看作是一组基本文件和每个文件随时间逐步积累的差异。

Git 的文件管理机制
Git把数据看作是小型文件系统的组快照。每次提交更新时Git都会对当前的全部文件制作一个快照并保存这个快照的索引。为了高效,如果文件没有修改。Git不再重新存储该文件,而是只保留一个链接指向之前存储的文件。 所以Git 的工作方式可以称之为快照流。

Git分支管理的本质是创建和移动指针

 

 

 

一起学习,一起进步 -.- ,如有错误,可以发评论