第 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 完整工作流程演练
- 第一个真实项目版本管理案例