当前位置:首页 > 嵌入式培训 > 嵌入式学习 > 讲师博文 > Git基础知识 和 Git安装 配置

Git基础知识 和 Git安装 配置 时间:2018-09-25      来源:未知

要点一览:

· 1.Git 简介 与 基本概念

· 2.Git 安装

· 3.Git 初次使用的配置

· 总结

1.git 简介 与 基本概念

· git简介:

GIt 首先是一个软件,一个实现"版本控制管理"软件,关于版本控制的相关知识,可以参考本文后面

给出的链接。所谓版本管理软件,简单来说,就是一个进行备份管理的软件,并且方便进行备份回溯等操作的软件!

实际上我们在实际工作中已经接触过版本管理的概念了!

//比如:我们在编写程序时,经常会这么做!

$vi hello.c

//在要进行某些修改之前,同时为了不影响到原有文件,我们通常会这么做

$cp hello.c 1-hello.c

//之后,对 1-hello.c 进行编辑

$vi 1-hello.c

这些实际上就是在进行版本管理,只是这里有个专门的软件,也提供了更丰富的功能的软件实现这样的管理!

我们所介绍的git,这是继Linux之后linus的又一伟大的贡献。产生的背景正是源于对linux内核开源个项目的维护。

linux内核开源项目的维护,在2002 - 2005 年使用Bitkeeper 的分布式本地系统。 但是2005 年合作

关系结束后 BitKeeper的公式回收了免费使用的权利。这使得Linus Torvalds 不得不吸取教训,只有开发一套属于

自己的版本控制系统才不至于重蹈覆辙。

这样在消失一周之后,git诞生了,因其晦涩难懂,起初只有一些黑客在用 ,但是经过众多开发者的努力,现在git

一杯全世界的程序员所使用!

Git的实现目标:

· 速度

· 简单的设计

· 对非线性开发模式的强力支持(允许上千个并行开发的分支)

· 完全分布式

· 有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)

自诞生于 2005 年以来,Git 日臻成熟完善,在高度易用的同时,仍然保留着初期设定的目标。它的速

度飞快,极其适合管理大项目,它还有着令人难以置信的非线性分支管理系统,可以应付各种复杂的项

目开发需求。

(注: Linus 花了一周时间写出来的,Git 10 周年访谈:Linus 讲述背后故事 - 博客 - 伯乐在线 

上面的git的诞生的背景,那么要想实现对git的使用,必须对其基本的思想和概念有认识和了解!

· Git的思想和基本原理:

1.直接记录快照,而非差异比较 (快照)

Git 和其他版本控制系统的主要差别在于,Git 只关心文件数据的整体是否发生变化,而大多数其他系统则只关心文件内容的具体差异。

2.近乎所有的操作都是本地执行(本地)

实际上操作的是git下来的本地代码库,待有网络时,再更新到网络。

3.时刻保持数据完整性(完整性)

git的设计哲学,git可以及时察觉到文件的变化。因为在保存到git之前,所有数据都要进行内容的校验和(checksum)计算。并将此结果作为

数据的唯一标识和索引。

Git 使用 SHA-1 算法计算数据的校验和,通过对文件的内容或目录的结构计算出一个 SHA-1 哈希值,作为指纹字符串。该字串由 40 个十六

进制字符(0-9 及 a-f)组成,看起来就像是:

24b9da6552252987aa493b52f8696cd6d3b00373

Git 的工作完全依赖于这类指纹字串,所以你会经常看到这样的哈希值。实际上,所有保存在 Git 数据库中的东西都是用此哈希值来作索引的,而不是靠文件名。

git使用的是哈希值来索引文件,而不是靠文件名。

4.多数操作仅做添加数据(添加)

常用的 Git 操作大多仅仅是把数据添加到数据库。因为任何一种不可逆的操作,比如删除数据,都会使回退或重现历史版本变得困难重重。

关键字: 快照 --- 本地 --- 完整性---添加

· git 实现版本原理原理

首先解释一下上面涉及到的三个区域:

working directory (工作目录)

staging area (暂存区域)

git directory (Git目录)

Git目录:

它是 Git 用来保存元数据和对象数据库的地方。该目录非常重要,每次克隆镜像仓库的时候,实际拷贝的就是这个目录里面的数据。

如果 git clone 出来的话,就是其中 .git 的目录;如果 git clone --bare 的话,新建的目录本身就是 Git 目录。

工作目录:

从项目中取出某个版本的所有文件和目录,用以开始后续工作的叫做工作目录。这些文件实际上都是从 Git 目录中的压缩对象数据库

中提取出来的,接下来就可以在工作目录中对这些文件进行编辑。

暂存区域:(实际上就是 准备入库的"文件清单")

所谓的暂存区域只不过是个简单的文件,一般都放在 Git 目录中。有时候人们会把这个文件叫做索引文件,不过标准说法还是叫暂存区域。

所谓的版本管理的实现就是在这几个区域之间的数据交换。

通常基本操作流程:

1. 在"工作目录"中修改某些文件。

2. 对修改后的文件进行快照,然后保存到"暂存区域"。

3. 提交更新,将保存在"暂存区域"的文件快照永久转储到" Git 目录"中。

所以我们可以从文件所处的位置来判断状态:

如果是Git目录中保存这的特定版本文件,就属于"已提交状态"

如果做了修改并以放入暂存区域,就属于"已暂存状态"

如果子上次取出后,做了修改但是还没有放到暂存区域,就是"已修改状态"

整个的流程是这样的:

"工作目录(修改)"--快照--->"暂存区域(清单)"--提交--->"Git 目录"

2.Git 安装

git安装:

1.ubuntu 下安装:

命令行输入:

$sudo apt-get install git

2,windows 下安装:

//msysgit.github.com/

包含了一个命令行的工具和图形工具

下载自己的系统对应的版本进行安装

3.Git 初次使用的配置

初次使用git时,需要做一些基本的配置!

可以进行配置的文件有三个层次的文件

(1).系统级别

/etc/gitconfig文件: 系统中对所用用户都普遍适用的配置。

命令:

$git config --system

(2).用户级别

~/.gitconfig文件:

用户目录下的配置文件,只适用该用户。

命令:

$git config --global

(3).目录级别

“工作目录”下的“.git/config”文件,这里的配置只针对当前目录有效。

每个级别的配置会覆盖上层的相同配置。

下面我们来进行配置,主要是针对当前用户的!

设计的信息主要是: 用户名 和 用户的邮件信息

配置的作用:

每次Git提交时,都会引用这两条信息,说明是谁提交了更新,会随更新内容一起!

查看配置信息:

命令主要是三条:

$git config --global user.name "名字"

$git config --global user.email "邮箱地址"

$git config --list

总结

(1).git的基本的实现的目标

(2).git的"三个区域"和文件的"三种状态"

(3).git的基本操作流程

(5).git的安装

(6).git的初始配置

参考链接:

[1].git 使用简易指南

[2].版本控制入门插图教程 - 阮一峰的网络日志

上一篇:进程间通信方式简述及区别

下一篇:Git入门之Git实例操作

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2022 北京华清远见科技集团有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部