Git 环境配置
在本章中,我们将学习如何安装 Git 和配置开发环境。
什么是 Git?
Git 是一个分布式版本控制系统,由 Linus Torvalds 于 2005 年创建。目前是世界上最流行的版本控制系统,几乎所有软件开发人员都需要掌握。
在 Windows 上安装 Git
方法一:从官网下载安装
- 打开浏览器,访问 Git 官网
- 点击 "Download for Windows" 按钮
- 运行下载的安装程序
- 按照提示完成安装,建议选择以下选项:
- 使用 "Git Bash here"
- 使用 "Git LFS"
- 选择 "Use Visual Studio Code as Git's default editor"
方法二:通过 winget 安装
如果已安装 winget,可以运行:
winget install Git.Git
验证安装
打开 Git Bash 或命令提示符,输入以下命令:
git --version
如果安装成功,会显示类似以下的版本信息:
git version 2.46.0
在 macOS 上安装 Git
方法一:通过 Homebrew 安装
如果你已安装 Homebrew,可以运行:
brew install git
方法二:安装 Xcode Command Line Tools
运行以下命令:
xcode-select --install
验证安装
打开终端,输入:
git --version
在 Linux 上安装 Git
大多数 Linux 发行版已经预装了 Git。你可以通过以下命令检查:
git --version
如果需要安装或更新,使用包管理器:
# Debian/Ubuntu
sudo apt update
sudo apt install git
# CentOS/RHEL
sudo yum install git
# Fedora
sudo dnf install git
# Arch Linux
sudo pacman -S git
配置 Git
安装完成后,需要配置你的身份信息,这样每次提交时都会记录你的信息。
配置用户名和邮箱
git config --global user.name "你的名字"
git config --global user.email "[email protected]"
例如:
git config --global user.name "张三"
git config --global user.email "[email protected]"
查看配置
# 查看所有配置
git config --list
# 查看具体配置
git config user.name
git config user.email
配置文本编辑器
如果需要使用特定的文本编辑器:
# 使用 VS Code
git config --global core.editor "code --wait"
# 使用 Vim
git config --global core.editor "vim"
# 使用 nano
git config --global core.editor "nano"
配置默认分支名
Git 2.28+ 支持配置默认分支名:
git config --global init.defaultBranch main
常用配置 aliases
创建简短的命令别名:
# 查看提交历史
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
# 查看历史(美化输出)
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
配置换行符
Windows 和 Linux 的换行符不同,需要配置:
# Windows
git config --global core.autocrlf true
# Linux/macOS
git config --global core.autocrlf input
# 跨平台项目
git config --global core.autocrlf true
配置 SSH 密钥(可选)
如果你需要与远程仓库(如 GitHub)进行 SSH 通信,需要配置 SSH 密钥。
生成 SSH 密钥
ssh-keygen -t ed25519 -C "[email protected]"
按回车键接受默认文件位置,然后输入密码(可选)。
添加到 SSH Agent
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
添加公钥到 GitHub
-
复制公钥内容:
cat ~/.ssh/id_ed25519.pub -
登录 GitHub,进入 Settings → SSH and GPG keys
-
点击 "New SSH key",粘贴公钥内容
Git 工作区概念
在创建第一个仓库前,先了解 Git 的三个重要区域:
- 工作区:你当前编辑文件的目录
- 暂存区:准备下次提交的文件列表
- 版本库:存储所有提交历史的地方
第一个 Git 仓库
安装好环境后,让我们创建第一个 Git 仓库:
# 创建新目录
mkdir my-project
cd my-project
# 初始化仓库
git init
# 查看状态
git status
你应该会看到类似输出:
Initialized empty Git repository in D:/my-project/.git/
On branch main
No commits yet
nothing to commit (create/delete some files and track them)
初始化后,Git 会在目录下创建 .git 文件夹,这就是版本库所在的位置。
Git GUI 工具
虽然命令行是使用 Git 最强大的方式,但图形化工具可以提供更直观的体验,特别适合初学者或需要进行复杂操作时。
跨平台 GUI 工具
GitHub Desktop
GitHub 官方推出的免费 GUI 工具,界面简洁,与 GitHub 深度集成。
- 支持系统:Windows、macOS
- 特点:操作简单,适合初学者,与 GitHub 无缝集成
- 下载:https://desktop.github.com/
GitKraken
功能强大的跨平台 Git GUI,界面美观。
- 支持系统:Windows、macOS、Linux
- 特点:可视化分支管理、合并冲突解决、支持 GitLab/Bitbucket
- 许可:免费版功能有限,专业版收费
Sourcetree
Atlassian 出品的免费 GUI 工具。
- 支持系统:Windows、macOS
- 特点:免费使用,功能全面,支持 Git Flow
- 下载:https://www.sourcetreeapp.com/
Git GUI
Git 自带的基础 GUI 工具。
# 启动 Git GUI
git gui
# 启动版本历史可视化
gitk
特点:功能基础,无需额外安装,适合简单操作。
选择建议
| 用户类型 | 推荐工具 |
|---|---|
| 初学者 | GitHub Desktop、VS Code 内置 Git |
| 进阶用户 | Sourcetree、GitKraken |
| 专业开发者 | 命令行 + IDE 集成 |
| 需要可视化分支 | GitKraken、VS Code Git Graph 插件 |
IDE 集成
现代 IDE 都内置了 Git 支持,让你在不离开编辑器的情况下完成大部分 Git 操作。
Visual Studio Code
VS Code 内置了强大的 Git 支持:
基本操作:
- 源代码管理面板:查看修改、暂存文件、提交
- 内置差异比较:直观查看文件修改
- 分支管理:创建、切换、合并分支
- 冲突解决:可视化冲突解决工具
推荐扩展:
# Git Graph - 分支可视化
# GitLens - Git 增强工具
# Git History - 查看文件历史
配置 VS Code 作为 Git 编辑器:
git config --global core.editor "code --wait"
JetBrains IDE 系列
IntelliJ IDEA、PyCharm、WebStorm 等 JetBrains IDE 都有出色的 Git 集成:
主要功能:
- 版本控制工具窗口:查看本地修改、历史记录
- 注解查看:查看每行代码的作者和提交信息
- 分支比较:可视化比较分支差异
- 冲突解决:三方合并工具
配置路径:Settings → Version Control → Git
Eclipse
Eclipse 的 EGit 插件提供 Git 支持:
# 安装 EGit
# Help → Eclipse Marketplace → 搜索 "EGit"
Vim/Neovim
Vim 用户可以使用插件增强 Git 支持:
" vim-fugitive - Git 封装
Plug 'tpope/vim-fugitive'
" vim-gitgutter - 显示修改标记
Plug 'airblade/vim-gitgutter'
" gv.vim - Git 提交浏览器
Plug 'tpope/vim-fugitive'
Plug 'junegunn/gv.vim'
Git Bash vs PowerShell vs CMD
Git Bash
Git Bash 是 Windows 上最常用的 Git 环境:
优点:
- 提供 Unix 风格的命令行环境
- 支持常用 Unix 命令(ls, grep, find 等)
- Git 命令输出格式化良好
- 支持 SSH 密钥管理
配置技巧:
# 自定义 Git Bash 提示符
# 编辑 ~/.bashrc
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}
export PS1="\u@\h \[\033[33m\]\w\[\033[32m\]\$(parse_git_branch)\[\033[00m\] $ "
PowerShell
PowerShell 用户可以使用 posh-git 模块:
# 安装 posh-git
Install-Module posh-git -Scope CurrentUser
# 导入模块
Import-Module posh-git
# 添加到配置文件
Add-PoshGitToProfile -AllHosts
posh-git 提供:
- Git 状态提示符
- 命令补全
- 分支名着色
CMD
虽然可以使用 CMD,但功能有限:
# 基本命令可以工作
git status
git commit -m "message"
不建议使用 CMD 的原因:
- 不支持 Unix 风格命令
- 缺少自动补全
- 输出格式不如 Git Bash
配置层级
Git 配置有三个层级,优先级从高到低:
1. 本地仓库配置
# 只对当前仓库有效
git config user.name "项目专用名"
# 配置文件位置
# .git/config
2. 全局配置
# 对当前用户的所有仓库有效
git config --global user.name "你的名字"
# 配置文件位置
# ~/.gitconfig (Linux/macOS)
# C:\Users\用户名\.gitconfig (Windows)
3. 系统配置
# 对所有用户的所有仓库有效(需要管理员权限)
git config --system user.name "系统默认名"
# 配置文件位置
# /etc/gitconfig (Linux/macOS)
# C:\Program Files\Git\etc\gitconfig (Windows)
查看配置来源
# 查看所有配置及其来源
git config --list --show-origin
# 输出示例
file:/etc/gitconfig credential.helper=manager
file:C:/Users/张三/.gitconfig user.name=张三
file:.git/config user.email=[email protected]
多账户配置
如果你有多个 Git 账户(如个人和工作账户),可以使用条件配置:
# ~/.gitconfig
[user]
name = 默认用户
email = [email protected]
[includeIf "gitdir:~/work/"]
path = ~/.gitconfig-work
[includeIf "gitdir:~/personal/"]
path = ~/.gitconfig-personal
# ~/.gitconfig-work
[user]
name = 工作用户
email = [email protected]
# ~/.gitconfig-personal
[user]
name = 个人用户
email = [email protected]
这样,在 ~/work/ 目录下的仓库会使用工作账户,在 ~/personal/ 目录下的仓库会使用个人账户。
小结
本章我们学习了:
- 如何在 Windows、macOS、Linux 上安装 Git
- 配置 Git 用户名和邮箱
- 配置文本编辑器和常用别名
- 配置 SSH 密钥(可选)
- GUI 工具和 IDE 集成的选择
- 配置层级和多账户配置
- 创建第一个 Git 仓库
在下一章中,我们将深入学习 Git 的基本操作。
练习
- 在你的电脑上安装 Git,验证安装成功
- 配置你的用户名和邮箱
- 尝试配置一个常用别名(如
git st代替git status) - 选择一个 GUI 工具或 IDE 扩展,熟悉其基本操作
- 创建一个新的 Git 仓库
- 尝试生成 SSH 密钥(如果需要连接远程仓库)