Git —— Git基础介绍(一)

Git —— Git基础介绍

由于工作变动,新公司使用了Git做的代码、项目版本控制(之前是SVN)。在平时自己的学习过程中,虽然也常常使用Git,但总是局限于一些简单的提交操作,对Git本身的一些设计原理、和其他常用的高级特性了解的不多,从而经常导致自己对Git有很多误解和误操作。最近在https://git-scm.com/book/zh/v2查看了一些有关Git的资料,打算较为系统的学习Git的基本原理和常见命令使用。这里也会使用博客的形式记录期间的内容,供自己后续查阅和回顾。

为了更好的了解、使用Git,我们先看下百度百科对Git的一些介绍:

it(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Linux 内核开发人员在全球使用的主要源代码工具。开放源码社区中的有些人觉得BitKeeper 的许可证并不适合开放源码社区的工作,因此 Torvalds 决定着手研究许可证更为灵活的版本控制系统。尽管最初 Git 的开发是为了辅助 Linux 内核开发的过程,但是我们已经发现在很多其他自由软件项目中也使用了 Git。例如 很多 Freedesktop 的项目迁移到了 Git 上。

Git --- The stupid content tracker, 傻瓜内容跟踪器。Linus Torvalds 是这样给我们介绍 Git 的。

Git 是用于 Linux内核开发的版本控制工具。与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持(wingeddevil注:这得分是用什么样的服务端,使用http协议或者git协议等不太一样。并且在push和pull的时候和服务器端还是有交互的。),使源代码的发布和交流极其方便。 Git 的速度很快,这对于诸如 Linux kernel 这样的大项目来说自然很重要。 Git 最为出色的是它的合并跟踪(merge tracing)能力。

Git主要使用保存文件快照和使用校验和来保证Git的版本控制。Git有三种状态

  1. 已提交(commited):表示数据的保存在本地数据库中
  2. 已修改(modified):表示已经了文件,但还没保存到数据库中
  3. 已暂存(staged):表示对当前一个已修改文件的版本做了标记,使之包含在下次提交的快照中

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

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

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

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

Git的基本工作流程如下:

  1. 在工作目录中修改文件
  2. 暂存文件,将文件的快照存入暂存区域
  3. 提交更新,找到暂存区域的文件,将快照永久性存储到Git仓库目录中

如果Git目录中保存着的特定版本文件,就属于已提交状态。如果做了修改并放入暂存区域,就属于已暂存状态。如果自上次取出以后,做了修改但是还没存入暂存区域,就属于已修改状态。后面的内容我们会更进一步解释其中的细节与状态操作。

Git有多种使用方式。我们可以原生的命令行模式,也可以使用GUI模式。后续的介绍都会在命令行进行,因为只有在命令行模式下,我们才可以使用完整的Git命令;GUI只实现了Git功能的一个子集,以降低难度。

Git的安装较为简单,由于我使用的是Manjaro,只需在Software中搜索安装Git即可;这里就不做多余介绍。安装完Git之后,查看版本信息如下:

Git安装成功之后,我们就可以开始我们的Git之旅了。

PS:后续改版的博客编辑功能,是真的难用;

猜你喜欢

转载自blog.csdn.net/csdn_of_coder/article/details/81415709
Git