一 git介绍
1.1 概述
Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
1.2 git与svn区别
GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。
Git 与 SVN 区别点:
- GIT是分布式的,SVN不是:这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。
- GIT把内容按元数据方式存储,而SVN是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。
- GIT分支和SVN的分支不同:分支在SVN中一点不特别,就是版本库中的另外的一个目录。
- GIT没有一个全局的版本号,而SVN有:目前为止这是跟SVN相比GIT缺少的最大的一个特征。
- GIT的内容完整性要优于SVN:GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
参考:http://www.runoob.com/git/git-tutorial.html
https://git-scm.com/book/zh/v2
1.3 git特点
- 直接记录快照,而非差异比较,Git对待数据更像是一个快照流;
- 近乎所有操作都是本地执行;
- Git保证完整性;
- Git一般只添加数据;
- Git有已提交(committed)、已修改(modified)和已暂存(staged)三种状态;
- Git有三个工作区域的概念:Git 仓库、工作目录以及暂存区域。
1.4 git工作流
基本的 Git 工作流程如下:
- 在工作目录中修改文件。
- 暂存文件,将文件的快照放入暂存区域。
- 提交更新,找到暂存区域的文件,将快照永久性存储到Git仓库目录。
二 git安装
1.1 依赖库安装
代码语言:javascript复制 1 [root@git ~]# yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc xmlto docbook2x #建议安装
2 [root@git ~]# yum -y install git
3 附:编译安装
4 [root@git ~]# yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc xmlto docbook2x #建议安装
5 [root@git ~]# tar -zxf git-2.0.0.tar.gz
6 [root@git ~]# cd git-2.0.0
7 [root@git git-2.0.0]# make configure
8 [root@git git-2.0.0]# ./configure --prefix=/usr
9 [root@git git-2.0.0]# make all doc info
10 [root@git git-2.0.0]# sudo make install install-doc install-html install-info
提示:相关源码包可通过https://github.com/git/git/releases下载。
三 git配置
3.1 配置文件介绍
/etc/gitconfig:针对全局的通用配置,可使用git config --system配置;
~/.gitconfig 或 ~/.config/git/config:针对当前用户生效的配置,可使用git config --global配置;
当前仓库目录.git/config:针对该仓库。
3.2. 配置用户信息
代码语言:javascript复制 1 [root@git ~]# git config --global user.name "zhangsan"
2 [root@git ~]# git config --global user.email "xhy@itzgr.com"
3.4 查看配置信息
代码语言:javascript复制 1 [root@git ~]# git config --list
2 [root@git ~]# git config user.name #查看具体某一项配置信息
四 其他常用
4.1 获取帮助
代码语言:javascript复制 1 [root@git ~]# git help <verb>
2 [root@git ~]# git <verb> --help
3 [root@git ~]# man git-<verb>
4 [root@git ~]# git help config #获取config命令手册