git 介绍

原创 2015年07月07日 09:31:06



1, 概念

     分布式版本控制     强调速度,数据完整性,支持分布式/非线性的工作流;    独立于网络访问的;   

     Git (/ɡɪt/) is a distributed revision control system with an emphasis on speed,data integrity,and support for distributed, non-linear workflows.Git was initially designed and developed by Linus Torvalds for Linux kernel development in 2005, and has since become the most widely adopted version control system for software development.

     As with most other distributed revision control systems, and unlike most client–server systems, every Git working directory is a full-fledged repository with complete history and full version-tracking capabilities, independent of network access or a central server. Like the Linux kernel, Git is free software distributed under the terms of the GNU General Public License version 


     source control management (SCM) : 软件控制管理


      

        Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git的读音为/gɪt/。
        Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。[2] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
          Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Linux 内核开发人员在全球使用的主要源代码工具。开放源码社区中的有些人觉得 BitKeeper 的许可证并不适合开放源码社区的工作,因此 Torvalds 决定着手研究许可证更为灵活的版本控制系统。尽管最初 Git 的开发是为了辅助 Linux 内核开发的过程,但是我们已经发现在很多其他自由软件项目中也使用了 Git。




特点

分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。
下图是经典的git开发过程。

Git的功能特性:
从一般开发者的角度来看,git有以下功能:
1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。
2、在自己的机器上根据不同的开发目的,创建分支,修改代码。
3、在单机上自己创建的分支上提交代码。
4、在单机上合并分支。
5、把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
6、生成补丁(patch),把补丁发送给主开发者。
7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。

从主开发者的角度(假设主开发者不用开发代码)看,git有以下功能:
1、查看邮件或者通过其它方式查看一般开发者的提交状态。
2、打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。
3、向公共服务器提交结果,然后通知所有开发人员。

优点:
适合分布式开发,强调个体。
公共服务器压力和数据量都不会太大。
速度快、灵活。
任意两个开发者之间可以很容易的解决冲突。
离线工作。

缺点:
资料少(起码中文资料很少)。
学习周期相对而言比较长。
不符合常规思维。
代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。



版权声明:本文为博主原创文章,未经博主允许不得转载。

Git基础介绍

Git 诞生于一个极富纷争大举创新的年代。Linux 内核开源项目有着为数众广的参与者。绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。到 2...
  • CareChere
  • CareChere
  • 2016年04月27日 17:18
  • 477

git详解(一)git的介绍与基本设置

git详解(一)git的介绍与基本使用摘要: 从本文开始会介绍git的相关内容,同时也是我学习git的历程,可以一边和大家分享,一边自己也加深印象。作为第一篇,先介绍下git的用处与基本设置。通过本文...
  • leehaoran
  • leehaoran
  • 2016年11月06日 21:46
  • 1330

Git专题--sourceTree介绍与使用

环境:  Mac OS X Yosemite 软件: SourceTree 1.下载安装SourceTree 2.sourceTree设置中添加用户 3.新仓库—从...
  • JackJia2015
  • JackJia2015
  • 2016年04月13日 09:50
  • 4671

Git简介和使用

Git简介和使用 一、什么是Git Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的...
  • xiaokang123456kao
  • xiaokang123456kao
  • 2017年04月27日 22:22
  • 292

Git相关概念介绍

网上搜git的时候会看到一大堆git相关名词:Git、Github、Gitlab、Gitblit、msysgit、egit、TortoiseGit,然后就各种头疼~ 初学Git的朋友对于Git的一些...
  • duanwu2330323
  • duanwu2330323
  • 2017年09月15日 17:50
  • 73

Git图形界面的使用

如果你已经掌握了不少使用 Git 命令行操作的知识。 你学会了操作本地文件,通过网络连接你的仓库,以及与他人进行有效率的合作。 但是故事并未就此结束;Git 通常只是更大的生态圈的一部分,在某些情况下...
  • u014743697
  • u014743697
  • 2016年10月27日 08:52
  • 4526

Git名词解释积累

Untracked files: 指没有被加入到版本库里面的文件。即新加入到目录下但没有添加到版本库的文件。...
  • u012790503
  • u012790503
  • 2016年07月28日 14:14
  • 425

第一次使用git

公司开始让开发人员使用git提交代码了。 我晕晕的两个礼拜没有提交过代码,都在搞别的,今天必须要提交!! 于是,我把新弄得OCMock嵌到了程序中,波折了一个提交信息错误...最后提了,具体使用情...
  • delphi090902
  • delphi090902
  • 2011年12月09日 16:33
  • 1063

一些基本的Git概念

1.Git版本库     Git版本库(repository)只是一个简单的数据库,其中包含所有用来维护和管理项目的修订版本和历史的信息,Git不仅提供版本库中所有文件的完整副本,还提供版本库本身的副...
  • Jack_Webbird
  • Jack_Webbird
  • 2016年12月14日 09:51
  • 574

一句话介绍CDN

原理 其实就是很多服务器都有静态资源的备份,当用户请求时,通过主服务器对用户的IP进行地址判断,来选择离用户位置最近的服务器,并且将最近的IP返回给用户,让用户去请求这个IP的服务器。 好处...
  • AndyNikolas
  • AndyNikolas
  • 2018年02月05日 16:56
  • 15
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:git 介绍
举报原因:
原因补充:

(最多只允许输入30个字)