zoukankan      html  css  js  c++  java
  • GIT的使用2

    基本原理

    校验原理

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

    管理机制

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

    管理9.png

    分支管理

    分支增加

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

    分支管理.jpg

    分支切换

    指针的切换

    分支管理1.jpg

    版本分支

    本质是指针移动

    分支管理2.jpg

    分支合并

    分支管理3.jpg

    GIT和GitHub远程连接

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

    基本步骤:

    创建远程库

    yuan1.jpg

    连接库

    起别名

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

    命令

    git remote add 别名 地址 添加别名

    git remote -v 查看别名

    效果

    yuan2.jpg

    yuan3.jpg

    推送文件

    命令

    git push 别名 分支名

    效果

    yuan4.jpg

    克隆文件

    命令

    git clone 远程库的地址

    效果

    yuan5.jpg

    抓取文件

    pull= fetch + merge两个组合。

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

    命令

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

    效果

    yuan6.jpg

    版本冲突
    条件

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

    解决方法

    先用pull将文件抓取下来

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

    yuan7.jpg

    yuan8.jpg

  • 相关阅读:
    git stash
    vim 使用
    git 分支管理
    git 日常使用
    js createElement
    git checkout
    2.2链表 链表中倒数第k个结点
    1.8字符串及分析 翻转子串
    全排列
    1.7数组 清除行列
  • 原文地址:https://www.cnblogs.com/whllow/p/12199881.html
Copyright © 2011-2022 走看看