首页 > 其他 > 详细

Git

时间:2019-05-03 00:13:35      阅读:163      评论:0      收藏:0      [点我收藏+]

Git的特点:•速度

•简单的设计

•对非线性开发模式的强力支持(允许上千个并行开发的分支)

•完全分布式

•有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)

Git与svn的对比:

svn属于集中版本管理控制系统,系统中保存了所有文件修订版本,协同工作人员通过连接svn服务器,提取出最的文件,获取提交更新

 

集中管理方式在一定程度上到其他开发在干什么,管理也可以很轻松掌握每个人的开发权限。

 

但是相较于优点而言集中版本控制工具缺点很明显:

 

1、 服务器单点故障

 

2、 容错性差

Git指关注文件的整体数据是否发生了改变,而其他系统只关注文件内容是否发生了改变(只关注文件中的内容差异)

为提高性能,若文件没有变化,Git 不会再次保存,而只对上次保存的快照作一连接。

Git只对文件的整体内容进行一次对比,如果整体内容没有发生多大的变化,则不会把数据再次保存到快照中。

使用Git,不需要跑到外面的服务器上获取数据,只需要在本地数据库上把你需要的数据取出来即可。

 

在保存到 Git 之前,所有数据都要进行内容的校验和(checksum)计算,并将此结果作为数据的唯一标识和索引。换句话说,不可能在你修改了文件或目录之后,Git 一无所知。

 

时变得不完整,或者磁盘损坏导致文件数据缺失,Git 都能立即察觉。

 

Git 使用 SHA-1 算法计算数据的校验和,通过对文件的内容或目录的结构计算出一个SHA-1 哈希值,作为指纹字符串。

所有保存在Git中的数据都是利用哈希值来做索引的。

 

对于任何一个文件,在 Git 内都只有三种状态:

已提交(committed):已提交表示该文件已经被安全地保存在本地数据库中了;

已修改(modified):已修改表示修改了某个文件,但还没有提交保存;

已暂存(staged):已暂存表示把已修改的文件放在下次提交时要保存的清单中。

 

技术分享图片

在此,将Git服务器搭建在Linux系统下

在Java虚拟机下安装一个linux系统,改下虚拟网络编辑器修改网段,同时安装Xshell进行与linux系统的连接

1、Git需要很多依赖环境:因此安装git需要先安装下列软件:

[root@itcast-01 ~]# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel gcc-c++

 2、上传git安装包:

安装包:git-2.9.3.tar.gz

安装命令:(进入git解压目录)

[root@local git-2.9.3]# make prefix=/usr/local all

[root@local git-2.9.3]# make prefix=/usr/local instal

3、添加Linux的用户,用户名为git的用户:

[root@local ~]# useradd git

设置git用户的密码

[root@local ~]# passwd git

切换到git用户

[root@local ~]# su git

4、初始化仓库,仓库名为taotao.git:

[git@local root]$ cd

[git@local ~]$ git init --bare taotao.git

始化空的 Git 仓库于 /home/git/taotao.git/

使用git步骤:

1、下载安装

2、git config --global user.email/name

3、git init 对于一个文件夹目录进行git初始化操作,这个初始化是为了让git对这个文件夹中的文件进行版本管理,初始化完成之后,在当前目录下会有一个.git文件夹,这个文件夹就是版本库

可以利用.git文件夹下的文件进行一个版本的控制,就是可以对它进行一个版本的回退,回到当前。

4、在在工作区或者仓库中创建文件,然后对文件进行一系列修改操作

Git的要求是:你想要让git帮你进行的版本的控制,必须先有一个文件夹,这个文件夹要被Git进行初始化操作,这样才可进行一个git的版本管理。 

常见的一些Git命令:

Master分支是主分支,也是git默认创建的分支

Master分支指向的是最新提交的commitid,利用指针的概念可以知道头指向的是我们的master分支(Git的强大支出并不是一个人开发,而是多人协作开发的概念)

在主分支上切出一个开发分支dev_first,利用  git checkout -b dev_first创建一个分支

如果你dev_first分支上,你就不能在自己的分支上删除自己,而必须是在其他分支上。

 

Git

原文:https://www.cnblogs.com/cye9971-/p/10803852.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!