【第一节】Git的简介和安装

目录

一、git的介绍

[二、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 的配置文件可以存放在以下三个地方:

  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 用户信息配置

配置个人的用户名称和电子邮件地址:

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` 文件中查看。

相关推荐
檀越剑指大厂4 小时前
【Git系列】根据提交打印邮箱
git
OctopusMonster4 小时前
git使用小记
git
Y编程小白4 小时前
Git版本控制工具--介绍及安装
git
测试工程师成长之路4 小时前
解释 Git 的基本概念和使用方式
git
sj11637394035 小时前
使用SLATE部署自己的OpenAPI手册网站
git
小小的木头人16 小时前
设置 Git 凭据缓存(针对 HTTPS)
git·缓存
小吕同学吖16 小时前
Git使用教程
git
floenrce16 小时前
git stash暂存文件
git
Oneforlove_twoforjob16 小时前
【Git】git无法直接跟踪空目录的问题
git