git 学习——git 历史与起步

Table of Contents

版本控制

集中式管理 Centralized Version Control Systems

 分布式版本控制系统

git  三种状态

git 命令行

git 安装


以下内容均来源于git 官网中文版,然后学习并记录,希望加强理解和起到归纳总结的作用 


版本控制

 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。 软件工程中则记录的是代码和相关文件,我们用版本控制记录着相关文件的变化。试想一下,没有版本控制是一个很可怕的事情,对于一件长期在做的事情,我们希望了解每个时期其面貌。

集中式管理 Centralized Version Control Systems

 首先,人们想到的是一个中心管理点,协同人员通过客户端连接到服务端,然后提交、更新。其缺点是需要实时保持通讯,否则
就不能记录。中心数据库所在的磁盘发生损坏,没有做恰当备份,毫无疑问你将丢失所有数据——包括项目的整个变更历史,只剩下人们在各自机器上保留的单独快照。

集中化的版本控制图解

 分布式版本控制系统

于是分布式版本控制系统(Distributed Version Control System,简称 DVCS)面世了。 在这类系统中,像 Git、Mercurial、Bazaar 以及 Darcs 等,客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。

 

            分布式版本控制图解

 分布式git版本管理优点

  • 速度
  • 简单的设计
  • 对非线性开发模式的强力支持(允许成千上万个并行开发的分支)
  • 完全分布式
  • 有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)

git 的很多操作都是再本地完成,在有网的时候联网并进行push 数据。

git  三种状态

Git 有三种状态,你的文件可能处于其中之一:已提交(committed)、已修改(modified)和已暂存(staged)。 已提交表示数据已经安全的保存在本地数据库中。 已修改表示修改了文件,但还没保存到数据库中。 已暂存表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。

由此引入 Git 项目的三个工作区域的概念:Git 仓库、工作目录以及暂存区域。

工作目录、暂存区域以及 Git 仓库。

 

Git 仓库目录是 Git 用来保存项目的元数据和对象数据库的地方。 这是 Git 中最重要的部分,从其它计算机克隆仓库时,拷贝的就是这里的数据。

工作目录是对项目的某个版本独立提取出来的内容。 这些从 Git 仓库的压缩数据库中提取出来的文件,放在磁盘上供你使用或修改。

暂存区域是一个文件,保存了下次将提交的文件列表信息,一般在 Git 仓库目录中。 有时候也被称作“索引”,不过一般说法还是叫暂存区域。

基本的 Git 工作流程如下:

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

  2. 暂存文件,将文件的快照放入暂存区域。

  3. 提交更新,找到暂存区域的文件,将快照永久性存储到 Git 仓库目录。

如果 Git 目录中保存着特定版本的文件,就属于已提交状态。 如果作了修改并已放入暂存区域,就属于已暂存状态。 如果自上次取出后,作了修改但还没有放到暂存区域,就是已修改状态。

git 的后续很多概念都是从这三个状态引出的,要理解这一点,对后续的掌握很有帮助。

git 命令行

git之出是为了解决linux 开源项目中的全球各地的开发者提交的代码而设计的,当然也很注重命令行的,所以强烈建议之间学习命令行而不是 各种GUI ,因为首先,只有在命令行模式下你才能执行 Git 的 所有 命令,而大多数的 GUI 软件只实现了 Git 所有功能的一个子集以降低操作难度。 如果你学会了在命令行下如何操作,那么你在操作 GUI 软件时应该也不会遇到什么困难,但是,反之则不成立。

git 安装

git的安装对于Linux 和Mac 系统很友好,直接可以用命令行实现,但window 则不行,支持的不是很好。可以在官网下载相关软件,实现安装。另外,可以通过源码安装,可以实时得到最新版本,但这种方式需要自己编译,并且需要下载其他的软件库来实现编译,有一定难度。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值