GIT的使用2

Posted whllow

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GIT的使用2相关的知识,希望对你有一定的参考价值。

基本原理

校验原理

git的底层是使用哈希算法中SHA-1算法来校验文件是否一样。其实哈希算法是一种加密算法,它能将不同大小,形式的文件,解析成唯一且一段固定长度的加密结果(前提是用的哈希算法是一样),而且当文件发生细微的变化时,哈希值会变化很大,因而可以用校验文件信息是一致。

管理机制

GIT是通过快照的方式来管理文件的版本,以链表的形式来存储文件的版本。就是说每次提交文件,GIT都将其打包成一个快照,并将其索引值保留下,将原来的指针指向最新的节点。如果文件没有变化,新节点并不会产出,只是指针指向原来的节点,但是留下记录。

技术图片

分支管理

分支增加

只是增加一个指针,并不是复制一份文件(更加高效)

技术图片

分支切换

指针的切换

技术图片

版本分支

本质是指针移动

技术图片

分支合并

技术图片

GIT和GitHub远程连接

GitHub是一个远程链接库,可以看作为一个数据库,而且GIT是GitHub公司开发,用于用户上传和管理自己项目的版本控制工具。

基本步骤:

创建远程库

技术图片

连接库

起别名

方便以后多次使用,不需要每次都要复制一遍

命令

git remote add 别名 地址 添加别名

git remote -v 查看别名

效果

技术图片

技术图片

推送文件

命令

git push 别名 分支名

效果

技术图片

克隆文件

命令

git clone 远程库的地址

效果

技术图片

抓取文件

pull= fetch + merge两个组合。

一般比较大的文件,先用fetch下载,再检查一下确保没有问题后,再用merge合并文件

命令

git pull 远程库的地址 远程库的分支

效果

技术图片

版本冲突
条件

GitHub不支持不是基于最新版本修改的推送

解决方法

先用pull将文件抓取下来

后用处理分支冲突的方法处理即可

技术图片

技术图片

以上是关于GIT的使用2的主要内容,如果未能解决你的问题,请参考以下文章

cvs2git checkout 使用选项文件中止(Windows)

如何将 cvs2git 迁移的结果导入 bitbucket

cvs2svn cvs2git: 将 cvs 用户映射到 github 用户

CVS2GIT-转换:运行git fast-import时出错“mark ... not declared”

cvs2git 在哪里记录它的迁移状态?

cvs2git 迁移不同于 git 和 cvs 的二进制文件(用 -kb 标记)