目录
[二、git 的安装](#二、git 的安装)
[2.1 Linux 平台安装](#2.1 Linux 平台安装)
[2.2 源码安装](#2.2 源码安装)
[2.3 Windows 平台安装](#2.3 Windows 平台安装)
[2.4 Mac 平台安装](#2.4 Mac 平台安装)
[2.5 Git 配置](#2.5 Git 配置)
[2.5.1 配置文件](#2.5.1 配置文件)
[2.5.2 用户信息配置](#2.5.2 用户信息配置)
[2.5.3 文本编辑器配置](#2.5.3 文本编辑器配置)
[2.5.4 差异分析工具配置](#2.5.4 差异分析工具配置)
[2.5.5 查看配置信息](#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:
bash
$ 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:
bash
$ 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
bash
$ yum install curl-devel expat-devel gettext-devel \
openssl-devel zlib-devel
#### Debian/Ubuntu
bash
$ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \
libz-dev libssl-dev
然后解压并安装源码包:
bash
$ 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 的配置文件可以存放在以下三个地方:
-
`/etc/gitconfig` 文件:适用于系统中所有用户的配置。使用 `git config --system` 选项时,读写的就是这个文件。
-
`~/.gitconfig` 文件:仅适用于当前用户的配置。使用 `git config --global` 选项时,读写的就是这个文件。
-
当前项目的 `.git/config` 文件:仅适用于当前项目的配置。每个级别的配置都会覆盖上层的相同配置,因此 `.git/config` 中的配置会覆盖 `/etc/gitconfig` 中的同名变量。
在 Windows 系统上,Git 会查找用户主目录下的 `.gitconfig` 文件。主目录通常是 `C:\Documents and Settings\$USER`。
2.5.2 用户信息配置
配置个人的用户名称和电子邮件地址:
bash
$ 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),可以重新设置:
bash
$ git config --global core.editor emacs
2.5.4 差异分析工具配置
在解决合并冲突时,可以指定使用哪种差异分析工具。例如,使用 `vimdiff`:
bash
$ git config --global merge.tool vimdiff
Git 支持多种合并工具,如 kdiff3、tkdiff、meld、xxdiff、emerge、vimdiff、gvimdiff、ecmerge 和 opendiff 等。
2.5.5 查看配置信息
要检查已有的配置信息,可以使用 `git config --list` 命令:
bash
$ git config --list
http.postbuffer=2M
user.name=runoob
user.email=test@runoob.com
有时会看到重复的变量名,这表明它们来自不同的配置文件(如 `/etc/gitconfig` 和 `~/.gitconfig`),Git 最终采用最后一个配置。
你也可以直接查阅某个环境变量的设定,例如:
bash
$ git config user.name
runoob
这些配置信息也可以在 `~/.gitconfig` 或 `/etc/gitconfig` 文件中查看。