概述

环境设置 

欢迎来到利永技术网学习git

Git能帮助你做很多管理工作。学习git之前要求你有些Linux基础知识,有版本控制管理软件使用经验更好。

Git是一个分布式版本控制和源代码管理系统,强调速度。 Git最初是由Linus Torvalds为Linux内核开发设计和开发的。 Git是根据GNU通用公共许可证第2版条款发布的免费软件。

Git的优点

1.免费和开源。Git是在GPL的开源许可下发布的。 它可以通过互联网免费使用。 您可以使用Git来管理房地产项目,而无需支付一分钱。 由于它是一个开放源代码,您可以下载其源代码并根据您的要求执行更改。

2.快而小。由于大部分操作都是在本地执行的,因此在速度方面会带来巨大收益。 Git不依赖中央服务器; 这就是为什么,每次操作都不需要与远程服务器进行交互。 Git的核心部分是用C编写的,它避免了与其他高级语言相关的运行时开销。 尽管Git镜像整个存储库,但客户端数据的大小很小。 这说明了Git在客户端压缩和存储数据的效率。

3.隐式备份。有多个副本时,丢失数据的机会非常少见。 存在于任何客户端的数据镜像存储库,因此可用于崩溃或磁盘损坏事件。

4.安全。Git使用一种称为安全散列函数(SHA1)的常用加密散列函数来命名和标识其数据库中的对象。 每个文件和提交都会在结帐时通过校验和进行校验和检索。 这意味着,在不知道Git的情况下,不可能在Git数据库中更改文件,日期和提交消息以及任何其他数据。

5.更容易分支。使用Git进行分支管理非常简单。 只需几秒钟即可创建,删除和合并分支。

6.本地存储库。用户可以使用本地存储库执行许多操作,例如添加文件,删除文件,重命名文件,移动文件,提交更改等等。

7.工作目录和暂存区域或索引。Git不会跟踪每个修改过的文件。 无论何时您提交操作,Git都会查找临时区域中存在的文件。 只有在临时区域中存在的文件才会被视为提交,而不是所有已修改的文件。

Git的基本工作流程


第1步 、从工作目录修改文件。

第2步、将这些文件添加到临时区域。

步骤3、执行提交操作,从临时区域移动文件。 在push操作之后,它将这些更改永久保存到Git存储库中

Git中常用术语

Blobs 代表Binary Large对象。每个版本的文件都由blob表示。 blob保存文件数据,但不包含有关该文件的任何元数据。它是一个二进制文件,在Git数据库中,它被命名为该文件的SHA1哈希。在Git中,文件不是按名称处理的。一切都是满足于内容的。

tree 树是一个对象,它代表一个目录。它拥有blob以及其他子目录。树是一个二进制文件,用于存储对blob和树的引用,该树也被称为树对象的SHA1哈希。

Commit提供存储库的当前状态。提交也由SHA1哈希命名。您可以将一个提交对象视为链接列表的一个节点。每个提交对象都有一个指向父提交对象的指针。从给定的提交中,可以通过查看父指针来查看提交的历史记录来回溯。如果一个提交具有多个父提交,则通过合并两个分支创建该特定提交。

Branches分支机构被用来创造另一条发展线。默认情况下,Git有一个主分支。通常,创建分支以处理新功能。一旦该功能完成后,它将与主分支合并,并删除该分支。每个分支都由HEAD引用,它指向分支中的最新提交。无论何时提交,HEAD都会使用最新的提交进行更新。

tags 为存储库中的特定版本分配一个有意义的名称。标签与分支非常相似,但区别在于标签是不可变的。这意味着,标签是一个没有人打算修改的分支。为特定提交创建标签后,即使您创建了新的提交,它也不会更新。通常,开发人员为产品版本创建标签。

clone 克隆操作创建存储库的实例。克隆操作不仅检出工作副本,还镜像整个存储库。用户可以使用本地存储库执行许多操作。网络涉及的唯一时间是存储库实例正在同步的时间。

pull 操作将更改从远程存储库实例复制到本地存储库实例。拉操作用于两个存储库实例之间的同步。这与Subversion中的更新操作相同。

push 推送操作将更改从本地存储库实例复制到远程存储库实例。这用于将更改永久存储到Git存储库中。这与Subversion中的提交操作相同。

HEAD 是一个指针,它总是指向分支中的最新提交。无论何时提交,HEAD都会使用最新的提交进行更新。分支的头部存储在.git/refs/heads/目录中。

 

环境设置