Home  >  Article  >  php教程  >  git之一,git详解之一

git之一,git详解之一

WBOY
WBOYOriginal
2016-06-13 08:44:001135browse

git之一,git详解之一

1、Git是什么
Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

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

 

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

1)直接记录快照,而非差异比较 : Git 更像是把变化的文件作快照后,记录在一个微型的文件系统中。
2)近乎所有操作都是本地执行 :在 Git 中的绝大多数操作都只需要访问本地文件和资源,不用连网。
3)时刻保持数据完整性 :在保存到 Git 之前,所有数据都要进行内容的校验和(checksum)计算,并将此结果作为数据的唯一标识和索引。
4)多数操作仅添加数据 :常用的 Git 操作大多仅仅是把数据添加到数据库。

 

3、集中版本控制
CVS及SVN都是集中式的版本控制系统,而Git是分布式版本控制系统。

集中式版本控制系统,版本库是集中存放在中央服务器的,一起工作的人需要用自己的电脑从服务器上同步更新或上传自己的修改。
但是,所有的版本数据都存在服务器上,用户的本地设备就只有自己以前所同步的版本,如果不连网的话,用户就看不到历史版本,也无法切换版本验证问题,或在不同分支工作。。

而且,所有数据都保存在单一的服务器上,有很大的风险这个服务器会损坏,这样就会丢失所有的数据,当然可以定期备份。

 

4、分布式版本控制
那分布式版本控制系统与集中式版本控制系统有何不同呢?

分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,不需要联网就可以工作。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你和同事在各自电脑修改相同文件,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。

分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库。大家之间可以相互复制。

    分布式版本控制系统通常也有一台充当“中央服务器”的电脑,但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家也一样干活,只是交换修改不方便而已。

 

5、安装Git
  最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑。不过,慢慢地有人把它移植到了Windows上。现在,Git可以在Linux、Unix、Mac和Windows这几大平台上正常运行了。

在Linux上安装Git:

  首先,你可以试着输入git,看看系统有没有安装Git:

<span>1</span> $ git

 

  像上面的命令,有很多Linux会友好地告诉你Git没有安装,还会告诉你如何安装Git。

  如果你碰巧用Debian或Ubuntu Linux,通过一条sudo apt-get install git就可以直接完成Git的安装,非常简单。如果想查看是否安装成功,通过git --version

  如果是其他Linux版本,可以直接通过源码安装。先从Git官网下载源码,然后解压,依次输入:./config,make,sudo make install这几个命令安装就好了。

安装完成后,还需要最后一步设置,在命令行输入:

<span>1</span> $ git config --global user.name "Your Name"
2 $ git config --global user.email "email@example.com"


因为Git是分布式版本控制系统,所以每个机器都必须自报家门:你的名字和Email地址。

注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn