跳到主要内容

Git 环境配置

在本章中,我们将学习如何安装 Git 和配置开发环境。

什么是 Git?

Git 是一个分布式版本控制系统,由 Linus Torvalds 于 2005 年创建。目前是世界上最流行的版本控制系统,几乎所有软件开发人员都需要掌握。

在 Windows 上安装 Git

方法一:从官网下载安装

  1. 打开浏览器,访问 Git 官网
  2. 点击 "Download for Windows" 按钮
  3. 运行下载的安装程序
  4. 按照提示完成安装,建议选择以下选项:
    • 使用 "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

  1. 复制公钥内容:

    cat ~/.ssh/id_ed25519.pub
  2. 登录 GitHub,进入 Settings → SSH and GPG keys

  3. 点击 "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 工具。

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/ 目录下的仓库会使用个人账户。

小结

本章我们学习了:

  1. 如何在 Windows、macOS、Linux 上安装 Git
  2. 配置 Git 用户名和邮箱
  3. 配置文本编辑器和常用别名
  4. 配置 SSH 密钥(可选)
  5. GUI 工具和 IDE 集成的选择
  6. 配置层级和多账户配置
  7. 创建第一个 Git 仓库

在下一章中,我们将深入学习 Git 的基本操作。

练习

  1. 在你的电脑上安装 Git,验证安装成功
  2. 配置你的用户名和邮箱
  3. 尝试配置一个常用别名(如 git st 代替 git status
  4. 选择一个 GUI 工具或 IDE 扩展,熟悉其基本操作
  5. 创建一个新的 Git 仓库
  6. 尝试生成 SSH 密钥(如果需要连接远程仓库)