第一节:写在前面

对于开发人员而言,肯定都使用过 Git,而且基本上每天都在使用,但是在 Windows 和 macOS 上安装 Git 是不同的:

  • 在 Windows 平台上安装很简单,只需要下载下来安装程序,进行傻瓜式安装就可以了。需要主要的是:因为 Git 的官网是国外的网站,直接从官网上下载的话,经常会因为网络问题而失败,常用的解决方式就是借助淘宝的 NPM 镜像站来下载。

    友情提示:从 2022 年 05 月 31 日开始,淘宝 npm 镜像源的域名更改为:https://registry.npmmirror.com

  • 在 macOS 平台上,安装 Git 有很多种方式,比如使用 Command Line Tools 或 Homebrew,虽然安装的方式有很多种,但是相对而言较简单。

这篇博文的主要内容就是介绍如何在 macOS 平台上安装配置 Git,并且解释一些 Git 的配置原理!

第二节:安装 Git

在 macOS 上安装 Git,不管是 Intel 芯片还是苹果芯片的电脑,最简单的方式就是通过安装命令行工具(Command Line Tools)!实际上,命令行工具中内置 Git,根本不需要自己再去下载安装 Git,这也是我推荐的方式!

关于如何给 macOS 安装命令行工具,以及安装命令行工具后系统的变化,都不是这篇博文的重点,在这里就不赘述了!

在安装命令行工具之前,假如你还没安装 Git 的话,这个时候执行命令git --version,可见系统中找不到 Git:

刚安装完命令行工具后,再执行该命令后可见:

顺便提一句,在没安装命令行工具之前,系统的/usr/bin/目录下就已经有名为git的可执行文件:

安装完命令行工具后,这里的可执行文件就自动指向了其中安装的 Git。跟 python3 一样,即使不安装命令行工具,该目录下也有这个命令,只是在安装完以后,/usr/bin/python3就会自动指向命令行工具中内置的 python 环境,并且从文件上来看并没有生成链接,这是 macOS 和 CLT 本身的处理,没必要关注!

第三节:配置 Git

先验知识:Git 的所有配置是以文件的形式存储的!

3.1:Git的配置原理

Git 的配置分为系统级别、全局级别、项目级别这三个等级:

权重 中文名 优先级 配置文件
system 系统级别 etc/gitconfig
global 全局级别 ~/.gitconfig
local 仓库级别 .git/config

这三层配置具有不同的优先级,假如在这三个配置文件中定义的值有冲突的话,以优先级高的为准。比如在仓库级别和全局级别中都配置了用户名和邮箱,那么仓库级别的配置将发挥作用!

Git 的配置文件

  • 系统配置:配置文件一般是/etc/gitcongif,但假如使用的是CLT中内置的Git的话,配置文件是在CLT的安装目录中,具体位置是/Library/Developer/CommandLineTools/usr/share/git-core/gitconfig
  • 全局配置:配置文件是~/.gitconfig。默认该文件不存在,除非使用安装程序进行安装并在安装过程中进行全局配置时,才会生成这个文件;如果不是的话,这个文件只有在你第一次进行全局配置时才会自动生成!
  • 项目配置:配置文件就是项目目录下的.git/config文件。这个文件不会发生变化,不管你是在什么平台上使用什么版本的 Git,项目级别的配置文件都不会发生变化!

查看 Git 的配置

除了通过上面提到的三个配置文件来查看 Git 的配置以外,还可以使用git config --list来查看。比如我刚安装完命令行工具后、进行全局配置之前,查看 Git 的配置:

3.2:配置环境变量

终端中执git --version命令可以直接输出 Git 版本号,使用which命令可见 Git 的命令是在/usr/bin目录下的,而这个目录本来就在 macOS 的 PATH 环境变量中:

这两点都说明:使用命令行工具内置的 Git,我们不需要再单独配置环境变量

3.3:用户名和邮箱

对于 Git 而言,用户名和邮箱地址这两条配置很重要,每次使用 Git 提交时都会引用这两条信息,用来说明是谁提交了内容更新,所以会随更新内容一起被永久纳入历史记录!而用户名和邮箱是用户可以任意自定义的,Git 在系统配置中不可能预先设置这两个配置,所以在使用 Git 之前配置用户名和邮箱就是必要的操作

Git 允许你设置一个全局的用户名和邮箱,同时也允许你为每个项目设置单独的用户名和邮箱。为了方便使用,我们一般会配置一个全局的,如果有需要的话,再在项目级别配置特殊的用户名和邮箱。

配置全局用户名和邮箱,使用下面的命令:

1
2
git config --global user.name 用户名
git config --global user.email 邮箱地址

比如我在配置用户名和邮箱时是这样的:

执行了全局配置以后,在用户目录下就会生成.gitconfig的配置文件,文件内容为:

此时再通过git config --list命令来查看 Git 的配置:

假如要修改用户名和邮箱配置的话,只需要修改全局配置文件的内容即可,当然也可以通过config命令重新设置!