目录
一、git的介绍
二、git 的安装
2.1 Linux 平台安装
2.2 源码安装
2.3 Windows 平台安装
2.4 Mac 平台安装
2.5 Git 配置
2.5.1 配置文件
2.5.2 用户信息配置
2.5.3 文本编辑器配置
2.5.4 差异分析工具配置
2.5.5 查看配置信息
一、git的介绍
Git 是一种开源的分布式版本控制系统,旨在高效地管理各种规模的项目,无论是小型还是大型。
Git 最初由 Linus Torvalds 开发,目的是为了更好地管理 Linux 内核的开发工作,它是一个开源的版本控制工具。
与传统的版本控制工具如 CVS 和 Subversion 不同,Git 采用了分布式版本库的设计,不需要依赖服务器端软件的支持。
Git 不仅仅是一个版本控制系统,它还具备内容管理系统(CMS)和工作管理系统的功能。
对于有 SVN 使用经验的用户来说,需要进行一定的思维转变,以适应 Git 所引入的新概念和特性。
Git 与 SVN 的主要区别包括:
1. **分布式 vs 集中式**:Git 是分布式的版本控制系统,而 SVN 是集中式的。这是 Git 与非分布式版本控制系统(如 SVN、CVS)之间最显著的区别。
2. **数据存储方式**:Git 以元数据的形式存储内容,而 SVN 则按文件存储。在 SVN 中,所有的元信息都隐藏在类似 `.svn` 或 `.cvs` 的文件夹中。
3. **分支管理**:Git 的分支管理与 SVN 不同。在 SVN 中,分支只是一个普通的目录,而在 Git 中,分支管理更加灵活和高效。
4. **版本号**:Git 没有全局版本号,而 SVN 则有。这是 Git 与 SVN 相比的一个显著差异。
5. **内容完整性**:Git 在内容完整性方面优于 SVN。Git 使用 SHA-1 哈希算法来确保代码内容的完整性,从而在遇到磁盘故障或网络问题时,能够更好地保护版本库的安全。
二、git 的安装
在开始使用 Git 之前,我们需要先安装它。Git 支持多种操作系统,包括 Linux/Unix、Solaris、Mac 和 Windows。
Git 的安装包可以在以下地址下载:http://git-scm.com/downloads
2.1 Linux 平台安装
Git 的运行依赖于一些库,如 curl、zlib、openssl、expat 和 libiconv。因此,在安装 Git 之前,需要先安装这些依赖库。
在支持 yum 的系统(如 Fedora)或支持 apt-get 的系统(如 Debian 系列)上,可以使用以下命令进行安装:
#### Debian/Ubuntu
在 Debian/Ubuntu 系统上,可以使用以下命令安装 Git:
$ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \
libz-dev libssl-dev
$ apt-get install git
$ git --version
git version 1.8.1.2
#### Centos/RedHat
在 Centos/RedHat 系统上,可以使用以下命令安装 Git:
$ yum install curl-devel expat-devel gettext-devel \
openssl-devel zlib-devel
$ yum -y install git-core
$ git --version
git version 1.7.1
2.2 源码安装
你也可以从官网下载 Git 的源码包进行安装。最新源码包的下载地址为:https://git-scm.com/download
在安装源码包之前,需要先安装相应的依赖库:
#### Centos/RedHat
$ yum install curl-devel expat-devel gettext-devel \
openssl-devel zlib-devel
#### Debian/Ubuntu
$ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \
libz-dev libssl-dev
然后解压并安装源码包:
$ tar -zxf git-1.7.2.2.tar.gz
$ cd git-1.7.2.2
$ make prefix=/usr/local all
$ sudo make prefix=/usr/local install
2.3 Windows 平台安装
在 Windows 平台上,安装 Git 非常简单。可以通过 msysGit 项目提供的安装包进行安装。下载地址为:https://gitforwindows.org/
安装完成后,你可以使用命令行的 Git 工具(已自带 ssh 客户端),也可以使用图形界面的 Git 项目管理工具。
在开始菜单中找到“Git”->“Git Bash”,打开 Git 命令窗口,即可进行 Git 操作。
2.4 Mac 平台安装
在 Mac 平台上,最简单的安装方式是使用图形化的 Git 安装工具。下载地址为:http://sourceforge.net/projects/git-osx-installer/
2.5 Git 配置
Git 提供了一个名为 `git config` 的工具,用于配置或读取相应的工作环境变量。这些环境变量决定了 Git 在各个环节的工作方式和行为。
2.5.1 配置文件
Git 的配置文件可以存放在以下三个地方:
1. `/etc/gitconfig` 文件:适用于系统中所有用户的配置。使用 `git config --system` 选项时,读写的就是这个文件。
2. `~/.gitconfig` 文件:仅适用于当前用户的配置。使用 `git config --global` 选项时,读写的就是这个文件。
3. 当前项目的 `.git/config` 文件:仅适用于当前项目的配置。每个级别的配置都会覆盖上层的相同配置,因此 `.git/config` 中的配置会覆盖 `/etc/gitconfig` 中的同名变量。
在 Windows 系统上,Git 会查找用户主目录下的 `.gitconfig` 文件。主目录通常是 `C:\Documents and Settings\$USER`。
2.5.2 用户信息配置
配置个人的用户名称和电子邮件地址:
$ git config --global user.name "runoob"
$ git config --global user.email test@runoob.com
使用 `--global` 选项后,更改的配置文件将位于用户主目录下,以后所有项目都会默认使用这里配置的用户信息。
如果需要在特定项目中使用不同的用户信息,只需去掉 `--global` 选项重新配置即可,新的设定将保存在当前项目的 `.git/config` 文件中。
2.5.3 文本编辑器配置
设置 Git 默认使用的文本编辑器,通常是 Vi 或 Vim。如果偏好其他编辑器(如 Emacs),可以重新设置:
$ git config --global core.editor emacs
2.5.4 差异分析工具配置
在解决合并冲突时,可以指定使用哪种差异分析工具。例如,使用 `vimdiff`:
$ git config --global merge.tool vimdiff
Git 支持多种合并工具,如 kdiff3、tkdiff、meld、xxdiff、emerge、vimdiff、gvimdiff、ecmerge 和 opendiff 等。
2.5.5 查看配置信息
要检查已有的配置信息,可以使用 `git config --list` 命令:
$ git config --list
http.postbuffer=2M
user.name=runoob
user.email=test@runoob.com
有时会看到重复的变量名,这表明它们来自不同的配置文件(如 `/etc/gitconfig` 和 `~/.gitconfig`),Git 最终采用最后一个配置。
你也可以直接查阅某个环境变量的设定,例如:
$ git config user.name
runoob
这些配置信息也可以在 `~/.gitconfig` 或 `/etc/gitconfig` 文件中查看。