版本控制工具:Git是什么

​Git 是一个开源的分布式版本控制系统,用于高效的管理各种项目以及文件。同时,它也可以用来协调和管理开发人员的工作,您可以使用 Git 可以建立一个“项目组”,组内成员可在同一个工作区中一起工作,但又互不影响。Git 是由 Linus Torvalds 于 2005 年开发, Git 的诞生的初衷是为了帮助 Linux 内核开发项目实现版本控制。

Git 与其他版本控制工具相比,其具有高效、快速的性能,这主要源于它采用可分布式版本库的方式。其它常见版本控制工具有 SVN、CVS、Perforce 以及 ClearCase。

什么是版本控制?

那到底什么是版本控制呢?举一个简单的例子。

当您使用 Microsoft Word 修改文章时,想删除某个段落,但又犹豫要不要删除,因为删除后该段落就无法找回。于是您将当前文档另存为一个新的文档,反复如此,直到结束 Word 文档竟然保存了十几个。过了几天,您想找回被删除的文字,但是您却忘记了这段文字在哪一个文档中,您只好挨个查找,这非常麻烦。还有另外一种情景,您和您的同事同时修改一篇文章,并且需要将修改后的文章整合在一起,这显得特别麻烦。

版本控制就是为了解决上述问题的。版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。同时,Git 还提供了合并分支的功能,能够将不同节点上的内容进行合并。

Git的结构

Git 结构主要分为工作区(workspace)、暂存区(staging area)、本地仓库(repository)以及远程仓库(remote repository),如下所示:

图片[1]|git是什么
Git工作流程
  • 工作区:项目所在操作目录,实际操作项目的区域。
  • 暂存区:用于记录工作区的工作(修改)内容。
  • 本地仓库区:用于备份工作区的内容,实际上是本地计算机的一个存储目录。
  • 远程仓库区:远程主机上的 GIT仓库,远程仓库一般指在 GitHub 建立的仓库。

Git的特点

Git 基于分布式实现了版本控制,其主要有以下特点:

  • Git 是开源的,多在 Linux 下使用,可以管理各种文件。
  • Git 是分布式的项目管理工具,而 SVN 是集中式版本控制。
  • Git 数据管理更多样化,分享速度快,数据安全。
  • Git 拥有更好的分支支持,方便多人协调。
  • 支持离线工作,即使在无网络连接状态下,也不会影响工作。

Git与SVN对比

Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS)和工作管理系统,而 SVN 主要用于版本控制。SVN 是 subversion 的缩写,也是一个开放源代码的版本控制系统,通过采用分支系统实现高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。

下面介绍了 Git 与 SVN 的区别,如下所示:

  • Git 是基于分布式管理,而 SVN 是集中式的,它拥有一个中央服务器,这是 Git 和其它非分布式的版本控制系统最核心的区别。
  • Git 把内容按元数据方式存储,而 SVN 是按文件,它把文件的元信息隐藏在一个类似 .svn 目录中。
  • Git 的内容安全性要优于 SVN,Git 的内容存储使用的是 SHA1 哈希算法,这确保代码的安全性,当遇到磁盘故障和网络问题时降低对版本库的破坏。

常用 GIT 命令

下面对常用的 Git 命令做了简单总结,如下所示:

图片[2]|git是什么
常用Git命令汇总

学习更多 Git 命令,请点击前往:https://git-scm.com/docs

© 版权声明
THE END
喜欢就支持一下吧
点赞2赞赏
分享
评论 抢沙发
HarryPotter的头像|艾奇编程网

昵称

取消
昵称表情