Git 五、git基本原理

1、哈希

哈希是一个系列的加密算法, 各个不同的哈希算法虽然加密强度不同, 但是有以下
几个共同点:
(1)、不管输入数据的数据量有多大, 输入同一个哈希算法, 得到的加密结果长度固定(MD5)。
(2)、哈希算法确定, 输入数据确定, 输出数据能够保证不变
(3)、哈希算法确定, 输入数据有变化, 输出数据一定有变化, 而且通常变化很大
(4)、哈希算法不可逆
Git 底层采用的是 SHA-1 算法。
哈希算法可以被用来验证文件。 原理如下图所示:

Git 就是靠这种机制来从根本上保证数据完整性的。

原文地址:https://www.cnblogs.com/wl-naruto/p/9193445.html

时间: 2024-07-31 13:00:43

Git 五、git基本原理的相关文章

完整学习git五git重置

git重置命令的一个用途就是修改引用的游标指向 1查看git操作日志 git reflog 2查看当前head游标的指向 cat .git/refs/heads/master 3重置和跳转 git reset --hard commitID 4查看提交log git log git log --graph --online

Git五分钟教程

许多人认为Git太混乱或是复杂的版本控制系统,这篇文章是面向一些人想快速上手使用Git, 对于大多数基本需求这篇文章涵盖了使用的70%至90% 入门 使用Git前 需要先建立一个仓库(repository).你可以使用一个已经存在的目录作为Git仓库或创建一个空目录 使用您当前目录作为Git仓库,我们只需使它初始化 git init 使用我们指定目录作为Git仓库 git init newrepo 从现在开始,我们将假设你在Git仓库根目录下,除非另有说明 添加新文件 我们有一个仓库,但什么也没

[git]git的基本原理|git branch|git

继续写一篇git的文章,介绍下git的历史和基本原理. 介绍下git的历史,据砖家考究,遥想当年,linux的创始人,牛人李纳斯,开发linux用的版本控制工具BitKeeper,出于公益或友好, 是免费的,但是李纳斯手下的几个黑客试图破解BitKeeper的协议,结果被BitKeeper公司发现,就从免费转向收费. 牛人李纳斯一努之下,两周就用C撸了一个新的版本控制系统,这就是Git. 彪悍的牛人,就是这么嚣张! 下面说下它的基本原理:(以下所有内容都可以从它官网得到:https://git-

git学习——<五>git分支

git学习——<一>git安装 git学习——<二>git配置文件 git学习——<三>git操作 git学习——<四>git版本管理 一.提出问题 今天开发的过程中遇到一个问题,A组接到开发任务要修改file文件,B组在此之前的15天为了完成自己的开发任务对file文件进行了修改,为了同步代码,B组将自己未完成的模块file文件提交到了cvs上.A对此一无所知,A组在完成开发任务后,把file文件完全上到了现网环境,报错了. 当然,避免上述问题的途径很多,

Atom编辑器入门到精通(五) Git支持

版本控制对于开发来说非常重要,Atom当然也提供了很好的支持,本文将介绍如何在Atom中集成使用Git和GitHub 恢复文件 当你修改了某个文件,然后发现改得不满意,希望恢复文件到最后一次提交的状态,可以使用Cmd+Alt+Z或Checkout Head Revision命令此命令将会放弃你对文件所有的修改,直接将文件恢复为最后一次提交的版本相当于Git命令git checkout HEAD -- filename和git reset HEAD -- filename如果恢复文件后发现还是改过

【Git】Git远程操作详解

Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个Git命令,它们的概念和用法,理解了这些内容,你就会完全掌握Git远程操作. git clone git remote git fetch git pull git push 本文针对初级用户,从最简单的讲起,但是需要读者对Git的基本用法有所了解.同时,本文覆盖了上面5个命令的几乎所有的常用用法,所以对于熟练用户也有参考价值. 一.git clone 远程操作

Centos6.8搭建Git服务(git版本可选)

搭建Git服务器需要准备一台运行Linux的机器,本文以Centos6.8纯净版系统为例搭建自己的Git服务. 准备工作:以root用户登陆自己的Linux服务器. 第一步安装依赖库 [[email protected] ~]# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel [[email protected] ~]# yum install gcc perl-ExtUtils-MakeMake

Git 入门 ---- Git 常用命令

本文作为  Git 入门 ---- Git 与 SVN 区别 的续篇,继续介绍 Git 的入门知识 四. Git 安装 OS X 版本: Mac 一般自带不需要安装 Windos 版本: https://git-for-windows.github.io/ Linux 版本: Linux 一般也是自带无需安装 五. 创建新仓库 创建新文件夹,cd 到文件夹,执行命令: git init  用来创建新 git 仓库 六. 提交文件进仓库 在新建好 git 仓库的文件夹里加入 readme.txt

Git专题--Git服务器端配置文档

Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理. 分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库. 从一般开发者的角度 1.从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上. 2.在自己的机器上根据不同的开发目的,创建分支,修改代码. 3.在单机上自己创建的分支上提交代码. 4.在单机上合并分支. 5.把服务器上最新版的代码fetch下来,然后跟自己的主分支合

Git 教程 - Git 基本用法

Git 是当前最流行的版本控制程序之一,文本包含了 Git 的一些基本用法 创建 git 仓库 初始化 git 仓库 mkdir project  # 创建项目目录 cd project  # 进入到项目目录 git init  # 初始化 git 仓库.此命令会在当前目录新建一个 .git 目录,用于存储 git 仓库的相关信息 初始化提交 touch README git add .  # 将当前目录添加到 git 仓库中, 使用 git add -A 则是添加所有改动的文档 git com