`

Git简介

阅读更多

2.Git

生于2005 年以来,Git 日臻成熟完善,在高度易用的同,仍然保留着初期定的目

。它的速度快,极其适合管理大目,它有着令人以置信的非线性分支管理系

第三章),可以付各种复杂开发需求

 

直接快照,而非比较差异

Git 和其他版本控制系的主要差在于,Git 心文件数据的整体是否化,而

大多数其他系统则心文件内容的具体差异。这类CVSSubversionPerforceBazaar

等等)记录有哪些文件作了更新,以及都更新了哪些行的内容

 

 

Git 并不保存些前后化的差异数据。实际上,Git 更像是把化的文件作快照后,

在一个微型的文件系中。次提交更新,它会纵览一遍所有文件的指信息并文件

作一快照,然后保存一个指向次快照的索引。提高性能,若文件没有化,Git 不会再

次保存,而只上次保存的快照作一

 

近乎所有操作都可本地执行

Git 中的大多数操作都只需要访问本地文件和源,不用网。但如果用CVCS

,差不多所有操作都需要接网。因Git 在本地磁上就保存着所有有当前

史更新,所以理起来速度快。

个例子,如果要浏览项目的史更新摘要,Git 不用跑到外面的服器上去取数据回

来,而直接从本地数据库读取后展示你看。所以任何候你都可以上翻,无需等待。

如果想要看当前版本的文件和一个月前的版本之有何差异,Git 会取出一个月前的快照和

当前文件作一次差异运算,而不用程服器来做件事,或是把老版本的文件拉到本

地来作比

 

时刻保持数据完整性

在保存到Git 之前,所有数据都要行内容的校和(checksum算,并将此果作

数据的唯一标识和索引。话说,不可能在你修改了文件或目之后,Git 一无所知。

这项特性作Git 设计哲学,建在整体架构的最底。所以如果文件在传输时变得不完

整,或者磁盘损致文件数据缺失,Git 都能立即察

Git 使用SHA-1 算法算数据的校和,通过对文件的内容或目算出一个

SHA-1 哈希,作字符串。字串由40 个十六制字符(0-9 a-f

 

 

Git 的工作完全依这类字串,所以你会常看到这样的哈希实际上,所有保

存在Git 数据中的西都是用此哈希来作索引的,而不是靠文件名。

 

多数操作仅添加数据

常用的Git 操作大多仅仅是把数据添加到数据。因任何一不可逆的操作,比如

除数据,要回退或重都会非常困。在VCS 中,若未提交更新,就有可能失或

者混淆一些修改的内容,但在Git 里,一旦提交快照之后就完全不用担心失数据,特

是在成了定期推送至其他仓库习惯

 

三种状态

于任何一个文件,在Git 内都只有三

:已提交(committed),已修改(modified)和已存(staged)。已提交表示

文件已被安全地保存在本地数据中了;已修改表示修改了某个文件,但没有提交保

存;已存表示把已修改的文件放在下次提交要保存的清

 

Git 管理,文件流的三个工作区域:Git 的本地数据目,工作

以及存区域

 

目都有一个git ,它是Git 用来保存元数据和象数据的地方。

常重要,次克隆仓库候,实际的就是个目里面的数据。

目中取出某个版本的所有文件和目,用以始后工作的叫做工作目些文件

实际上都是从git 中的压缩对象数据中提取出来的,接下来就可以在工作目

些文件编辑

存区域只不是个简单的文件,一般都放在git 中。有候人会把

文件叫做索引文件,不过标是叫存区域

 

基本的Git 工作流程如下所示:

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

2. 对这些修改了的文件作快照,并保存到存区域。

3. 提交更新,将保存在存区域的文件快照转储git 中。

所以,我可以从文件所的位置来判断状:如果是git 中保存着的特定版本文

件,就属于已提交状;如果作了修改并已放入存区域,就属于已存状;如果自上次

取出后,作了修改但没有放到存区域,就是已修改状

 

安装Git

主要有两

,一是通过编译源代来安装;另一是使用特定平台预编译好的安装包

 

从源代码安装

Git 的工作需要curlzlibopensslexpatlibiconv 的代,所以需要先

安装些依工具

 

之后,从下面的Git 官方站点下最新版本源代

http://git-scm.com/download

然后编译并安装

 

在已可以用git 命令了,用git Git 仓库克隆到本地,以便日后随更新:

$ git clone git://git.kernel.org/pub/scm/git/git.git

 

Windows 上安装

Windows 上安装Git 样轻松,有个叫做msysGit 目提供了安装包,可以从

Google Code 面上下安装文件(.exe):

http://code.google.com/p/msysgit

完成安装之后,就可以使用命令行的git 工具(已ssh 端)了,另外

一个形界面的Git 目管理工具

 

初次运行Git 前的配置

一般在新的系上,我都需要先配置下自己的Git 工作境。配置工作只需一次,以

后升级时还会沿用在的配置。当然,如果需要,你随可以用相同的命令修改已有的配

置。

Git 提供了一个叫做git config 的工具

专门用来配置或取相的工作量。而正

是由量,决定了Git 在各个环节的具体工作方式和行量可以存放在

以下三个不同的地方:

/etc/gitconfig文件:系所有用都普遍适用的配置。若使用git config

--system 选项写的就是个文件。

~/.gitconfig文件:用下的配置文件只适用于。若使用git config

--global 选项写的就是个文件。

• 当前目的git 中的配置文件(也就是工作目中的.git/config 文件):

里的配置仅仅针对当前目有效。一个级别的配置都会覆盖上的相同配置,所以

.git/config 里的配置会覆盖/etc/gitconfig 中的同名量。

Windows 上,Git 会找主目下的.gitconfig 文件。主目$HOME

指定的目,一般都是C:\Documents and Settings\$USER。此外,Git 尝试/

etc/gitconfig 文件,只不看当初Git 装在什,就以此作根目来定位

 

 

 

用户信息

第一个要配置的是你个人的用名称和件地址。两条配置很重要,Git

都会引用两条信息,明是提交了更新,所以会随更新内容一起被永久

 

$ git config --global user.name "John Doe"

$ git config --global user.email johndoe@example.com

如果用了--global 选项,那更改的配置文件就是位于你用主目下的那个,以后你

所有的目都会默使用里配置的用信息。如果要在某个特定的目中使用其他名字或

电邮,只要去掉--global 选项重新配置即可,新的定保存在当前目的.git/config

文件里。

 

 

文本编辑器

接下来要置的是默使用的文本编辑器。Git 需要你入一些外消息的候,会自

用一个外部文本编辑你用。默会使用操作系指定的默认编辑器,一般可能会是

Vi 或者Vim

$ git config --global core.editor emacs

 

差异分析工具

有一个比常用的是,在解决合并冲突使用哪差异分析工具。比如要改用vimdiff

$ git config --global merge.tool vimdiff

 

查看配置信息

检查已有的配置信息,可以使用git config --list 命令

 

 

候会看到重量名,那就明它来自不同的配置文件(比如/etc/gitconfig

~/.gitconfig),不Git 实际采用的是最后一个。

也可以直接查阅某个量的定,只要把特定的名字跟在后面即可,像这样

$ git config user.name

 

 

获取帮助

想了解Git 的各式工具用,可以阅读的使用帮助,方法有三:

$ git help <verb>

$ git <verb> --help

$ man git-<verb>

 

分享到:
评论

相关推荐

    git简介及基本操作

    git简介及基本操作git简介及基本操作git简介及基本操作git简介及基本操作git简介及基本操作

    微信小程序开发-Git简介.pptx

    【微信小程序开发-Git简介】 在微信小程序的开发过程中,版本控制工具的使用至关重要,而Git是最常用的版本控制系统之一。Git不仅能够帮助开发者追踪代码的变化,还支持多人协作,使得团队开发变得更加高效和有序。...

    Git简介以及常用操作.md

    ### Git简介及常用操作知识点详解 #### 一、Git与版本控制基础 1. **版本控制的概念** - 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。 - **重要性**: - **备份**:确保...

    Git简介和环境搭建【Git和GitHub教程1】

    Git简介和环境搭建【Git和GitHub教程1】

    【熟悉】git简介以及使用

    Git的常用操作包括:初始化仓库(`git init`)、克隆仓库(`git clone`)、添加文件到暂存区(`git add`)、提交(`git commit`)、查看提交历史(`git log`)、分支管理(`git branch`)、合并分支(`git merge`)、解决冲突(`git...

    git简介

    Git&GitHub_Git简史.avi

    git知识,git简介介绍,如何使用

    Git 知识总结 Git 是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。官网地址为:...

    项目管理工具学习Git简介

    Git 是一款强大的分布式版本控制系统,由 Linux 内核开发者 Linus Torvalds 创建,旨在提高 Linux 内核的开发效率。与传统的集中式版本控制系统如 CVS 和 Subversion 不同,Git 不依赖单一的中央服务器,每个开发者...

    Git简介以及与SVN的区别1

    Git是一个由Linux内核开发者Linus Torvalds创建的分布式版本控制系统,它的设计目标是高效、灵活,并且特别适合大规模的协作开发。Git的核心特性在于它完全分布式的特点,这意味着每个开发者的本地副本都是一个完整...

    git零基础实战

    #### 一、Git简介 - **版本控制基本概念** - 版本控制系统(Version Control System, VCS):类似于银行柜台的“会计”,负责跟踪和记录文件的变化。 - **重要性**:提高工作协作效率,甚至决定项目的成败。 - *...

    Git简介与基本操作.7z

    Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git的基本操作通常涉及环境配置、仓库创建、文件添加与提交等步骤。

    Git教程By廖雪峰 高清完整 完整目录PDF版.pdf

    Git简介 Git是什么? Git是⺫⽬目前世界上最先进的分布式版本控制系统(没有之⼀一)。 Git有什么特点?简单来说就是:⾼高端⼤大⽓气上档次! 那什么是版本控制系统? 如果你⽤用Microsoft Word写过⻓长篇⼤大论,...

    Git安装包,2.35.1.2版本,windows64位

    **一、Git简介** Git由Linus Torvalds于2005年创建,初衷是为了管理Linux内核的开发。它具有速度快、数据完整性高、分支管理灵活等优点。Git采用分布式模型,每个开发者的本地机器上都有完整的代码库副本,可以独立...

    git尚硅谷笔记.pdf

    #### 一、Git简介与特性 **Git** 是一款开源的分布式版本控制系统,用于高效地处理从小型到大型项目的版本管理。相比于传统的集中式版本控制系统如SVN,Git具备以下特点: 1. **分布式**:每一个开发者的电脑上都...

    git 操作指导 git的常用命令

    #### Git 简介 Git 是一款功能强大、高效且开源的分布式版本控制系统。自推出以来,Git 因其灵活性和速度,在开源和协作编程社区迅速取代了传统的版本控制系统如 SVN、CVS 和 Perforce。 **版本控制系统**是一种...

    Git教程 从入门到精通

    #### 一、Git简介 - **Git是什么**:Git是一款目前世界上最先进的分布式版本控制系统。它被设计用于高效处理从小型到大型项目的版本控制,尤其适合软件开发项目。 - **Git的特点**:Git具有高效、安全、灵活等特点...

    git使用手册.doc

    #### 一、Git简介与版本控制系统概念 **Git** 是一款全球范围内使用最为广泛且先进的分布式版本控制系统。它能够自动记录每次文件的改动情况,包括文件的添加、修改以及删除等操作。对于软件开发团队而言,这种能力...

    git-intro:希腊文Git简介

    希腊语Git简介 TL; DR 我们一开始就运行一次: git clone https://github.com/username/repository.git cd repository git remote add upstream https://github.com/maellak/repository.git 每次进行更改时应...

Global site tag (gtag.js) - Google Analytics