第 2 课:安装 Git 与首次配置

从这一课开始正式进入实操。学完本课后,你将拥有一个可以正常使用的 Git 开发环境,并理解 Git 身份配置、配置文件、SSH 免密登录等核心知识。


2.1 安装 Git

Git 是一个独立的软件。

在使用之前,需要先安装。


Windows 安装 Git

进入 Git 官方网站下载安装包:

https://git-scm.com

下载完成后双击安装。

绝大部分选项直接:

Next
Next
Next
...
Install

即可。

保持默认配置就足够了。


验证是否安装成功

安装完成后:

打开:

Git Bash

或者:

CMD

执行:

git --version

如果出现:

git version 2.xx.x

说明安装成功。

例如:

git version 2.49.0.windows.1

Linux 安装 Git

Ubuntu / Debian

sudo apt update

sudo apt install git -y

验证:

git --version

CentOS

sudo yum install git -y

验证:

git --version

macOS 安装 Git

打开终端:

git --version

如果未安装:

系统会自动提示:

Install Command Line Developer Tools

点击安装即可。

安装完成再次执行:

git --version

2.2 Git 为什么需要身份配置?

Git 会记录:

  • 谁提交的代码
  • 什么时间提交
  • 提交了什么内容

例如:

git log

显示:

commit a1b2c3d
Author: ZhangSan
Email: zhangsan@gmail.com

完成登录功能

因此第一次使用 Git 必须告诉 Git:

你是谁

2.3 配置用户名和邮箱

这是第一次安装 Git 必做的事情。


配置用户名

git config --global user.name "张三"

例如:

git config --global user.name "SuBo"

配置邮箱

git config --global user.email "your@email.com"

例如:

git config --global user.email "subo@qq.com"

查看配置

git config --list

输出:

user.name=SuBo
user.email=subo@qq.com

说明配置成功。


2.4 --global 到底是什么意思?

很多人刚开始不理解。

实际上 Git 配置分为三个级别:


系统级

git config --system

作用范围:

整台电脑

一般不使用。


用户级(最常用)

git config --global

作用范围:

当前用户的所有仓库

例如:

git config --global user.name "SuBo"

以后所有项目都使用这个身份。


仓库级

进入某个项目:

cd project

执行:

git config user.name "ProjectAdmin"

仅当前仓库生效。

优先级最高。


优先级规则

仓库级
   >
用户级
   >
系统级

谁离项目最近,谁优先。


2.5 Git 配置文件在哪里?

理解这个知识后,以后排查问题非常方便。


Windows

用户配置文件:

C:\Users\用户名\.gitconfig

例如:

C:\Users\Admin\.gitconfig

Linux

~/.gitconfig

macOS

~/.gitconfig

查看配置文件:

cat ~/.gitconfig

可能看到:

[user]
    name = SuBo
    email = subo@qq.com

2.6 修改配置

如果以后想修改:


修改用户名

git config --global user.name "新名字"

修改邮箱

git config --global user.email "新邮箱"

删除配置

git config --global --unset user.name

git config --global --unset user.email

2.7 Git 的默认编辑器

Git 某些操作会打开编辑器。

例如:

git commit

不写:

-m

时。


查看当前编辑器:

git config --global core.editor

设置 VSCode 为默认编辑器

git config --global core.editor "code --wait"

以后:

git commit

会直接打开 VSCode。


2.8 Git 的默认分支名称

以前 Git 默认分支:

master

现在:

main

已经成为主流。


设置默认主分支:

git config --global init.defaultBranch main

以后:

git init

创建的仓库默认就是:

main

2.9 SSH 是什么?

这是未来连接:

  • GitHub
  • Gitee
  • GitLab

必须掌握的知识。


先看最常见的提交代码流程:

本地电脑
    ↓
GitHub

GitHub 怎么知道是你?

有两种方式:


方式一:账号密码

用户名
密码

缺点:

每次 push 都要输入密码

很麻烦。


方式二:SSH(推荐)

本地生成钥匙
服务器保存公钥

以后:

git push

直接通过验证。

无需密码。


2.10 生成 SSH 密钥

查看是否已有 SSH:

ls ~/.ssh

Windows Git Bash 同样适用。


如果看到:

id_rsa
id_rsa.pub

或者:

id_ed25519
id_ed25519.pub

说明已经存在。


没有的话生成:

ssh-keygen -t ed25519 -C "你的邮箱"

例如:

ssh-keygen -t ed25519 -C "subo@qq.com"

一路回车:

Enter
Enter
Enter

即可。


生成完成:

~/.ssh/

目录下会出现:

id_ed25519
id_ed25519.pub

含义:

id_ed25519
私钥(千万别给别人)
id_ed25519.pub
公钥(上传到 GitHub/Gitee)

2.11 查看公钥

执行:

cat ~/.ssh/id_ed25519.pub

输出:

ssh-ed25519 AAAAC3Nz...

复制全部内容。


2.12 SSH 免密登录原理

理解原理很重要。


本地:

私钥

服务器:

公钥

连接时:

服务器发出挑战
        ↓
本地私钥签名
        ↓
服务器公钥验证
        ↓
验证成功

因此:

公钥可以公开
私钥绝不能泄露

2.13 测试 SSH 是否正常

配置完成后测试:

ssh -T git@github.com

或者:

ssh -T git@gitee.com

第一次会看到:

Are you sure you want to continue connecting?

输入:

yes

成功后:

Hi xxx! You've successfully authenticated.

说明 SSH 配置成功。


本课总结

本课完成了 Git 环境搭建。

必须掌握:


安装 Git

git --version

配置身份

git config --global user.name "SuBo"

git config --global user.email "subo@qq.com"

查看配置

git config --list

设置默认主分支

git config --global init.defaultBranch main

生成 SSH 密钥

ssh-keygen -t ed25519 -C "你的邮箱"

查看公钥

cat ~/.ssh/id_ed25519.pub

测试连接

ssh -T git@github.com

至此,你已经拥有一个完整可用的 Git 开发环境。

下一课《第 3 课:创建本地仓库与第一次提交》将正式开始实战:

  • git init
  • git status
  • git add
  • git commit
  • git log
  • Git 完整工作流程演练
  • 第一个真实项目版本管理案例