跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / Bash

Linux 系统 Git 安装与基础配置指南

在 Debian/Ubuntu、CentOS/RHEL、Fedora、Arch 等 Linux 发行版上安装 Git 的方法,包括包管理器安装和源码编译。详细说明了全局用户名邮箱配置、SSH 密钥生成、别名设置及换行符处理。此外涵盖差异工具配置、代理设置、Hooks 自动化及常见问题排查(如权限错误、版本过旧)。最后提供卸载步骤及官方学习资源链接。

灰度发布发布于 2026/3/28更新于 2026/7/2450 浏览
Linux 系统 Git 安装与基础配置指南

一、安装 Git

1. Debian/Ubuntu 系统

# 更新软件包列表
sudo apt update
# 安装 Git
sudo apt install git -y
# 验证安装
git --version

输出示例:git version 2.39.0

2. CentOS/RHEL 系统

# 启用 EPEL 仓库(若未启用)
sudo yum install epel-release -y
# 安装 Git
sudo yum install git -y
# 或使用 dnf(CentOS 8+)
sudo dnf install git -y
# 验证安装
git --version

3. Fedora 系统

# 使用 dnf 安装
sudo dnf install git -y
# 验证安装
git --version

4. Arch/Manjaro 系统

# 使用 pacman 安装
sudo pacman -Syu git
# 验证安装
git --version

5. 其他方式:源码编译安装(适用于所有发行版)

下载并解压 Git 源码:

wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.39.0.tar.gz
tar -zxvf git-2.39.0.tar.gz
cd git-2.39.0

安装依赖:

# Debian/Ubuntu
sudo apt install curl-devel expat-devel gettext-devel openssl-devel zlib-devel -y
# CentOS/RHEL
sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel -y

编译并安装:

make prefix=/usr/local all
sudo make prefix=/usr/local install
# 验证安装
git --version

二、基础配置

1. 设置全局用户名和邮箱

git config --global user.name "Your Name"
git config --global user.email "[email protected]"
# 验证配置
git config --global --list

2. 配置 SSH 密钥(用于 GitHub/GitLab 等)

生成 SSH 密钥:

ssh-keygen -t ed25519 -C "[email protected]"

按提示保存密钥到默认路径(~/.ssh/id_ed25519),设置密钥密码(可选)。

将公钥添加到 GitHub/GitLab: • 复制公钥内容:

cat ~/.ssh/id_ed25519.pub

• 登录 GitHub → Settings → SSH and GPG Keys → 添加新 SSH Key。

测试 SSH 连接:

ssh -T [email protected]

成功提示:Hi username! You've successfully authenticated.

3. 配置 Git 别名(简化命令)

git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.st status
git config --global alias.lg "log --oneline --graph --all"

示例:git st 等同于 git status。

4. 启用自动换行符转换(解决跨平台换行符问题)

# Linux/macOS
git config --global core.autocrlf input
git config --global core.safecrlf warn # 检测混合换行符

三、高级设置

1. 配置差异工具(如 Meld)

安装 Meld:

# Debian/Ubuntu
sudo apt install meld -y
# CentOS/RHEL
sudo yum install meld -y

配置 Git 调用 Meld:

git config --global merge.tool meld
git config --global mergetool.meld.path "/usr/bin/meld"

2. 配置 Git 代理(解决网络问题)

# HTTP/HTTPS 代理
git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy https://127.0.0.1:7890
# SOCKS5 代理(如 Clash)
git config --global http.proxy socks5://127.0.0.1:7890
git config --global https.proxy socks5://127.0.0.1:7890
# 取消代理
git config --global --unset http.proxy
git config --global --unset https.proxy

3. 配置钩子(Hooks)自动化操作

示例:在提交前运行代码检查 • 进入仓库的 .git/hooks 目录:

cd /path/to/repo/.git/hooks

• 创建 pre-commit 文件:

#!/bin/bash
echo "Running code checks..."
npm test
# 示例:运行测试

• 赋予执行权限:

chmod +x pre-commit

四、常见问题与解决方法

1. 安装失败:E: Unable to locate package git

解决:更新软件源并重试:

sudo apt update && sudo apt install git -y

2. 权限错误:Permission denied (publickey)

解决:

  1. 检查公钥是否正确添加到 GitHub/GitLab。
  2. 确认 SSH 密钥已添加到 ssh-agent:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

3. Git 版本过旧

升级 Git:

# Debian/Ubuntu
sudo add-apt-repository ppa:git-core/ppa -y
sudo apt update && sudo apt upgrade git -y
# Fedora
sudo dnf upgrade git -y

4. 终端提示 git: command not found

解决: • 检查是否已安装:which git。 • 若未安装,通过上述方法重新安装。 • 确保 Git 路径在环境变量中(echo $PATH)。

五、卸载 Git

1. 通过包管理器卸载

• Debian/Ubuntu:

sudo apt remove git -y

• CentOS/RHEL:

sudo yum remove git -y

2. 手动卸载(源码安装)

sudo rm -rf /usr/local/bin/git
sudo rm -rf /usr/local/share/doc/git

六、学习资源推荐

  1. Pro Git 电子书(免费):https://git-scm.com/book/zh/v2
  2. GitHub 官方教程:https://guides.github.com/
  3. Git 命令速查表:https://education.github.com/git-cheat-sheet-education.pdf

目录

  1. 一、安装 Git
  2. 1. Debian/Ubuntu 系统
  3. 更新软件包列表
  4. 安装 Git
  5. 验证安装
  6. 2. CentOS/RHEL 系统
  7. 启用 EPEL 仓库(若未启用)
  8. 安装 Git
  9. 或使用 dnf(CentOS 8+)
  10. 验证安装
  11. 3. Fedora 系统
  12. 使用 dnf 安装
  13. 验证安装
  14. 4. Arch/Manjaro 系统
  15. 使用 pacman 安装
  16. 验证安装
  17. 5. 其他方式:源码编译安装(适用于所有发行版)
  18. Debian/Ubuntu
  19. CentOS/RHEL
  20. 验证安装
  21. 二、基础配置
  22. 1. 设置全局用户名和邮箱
  23. 验证配置
  24. 2. 配置 SSH 密钥(用于 GitHub/GitLab 等)
  25. 3. 配置 Git 别名(简化命令)
  26. 4. 启用自动换行符转换(解决跨平台换行符问题)
  27. Linux/macOS
  28. 三、高级设置
  29. 1. 配置差异工具(如 Meld)
  30. Debian/Ubuntu
  31. CentOS/RHEL
  32. 2. 配置 Git 代理(解决网络问题)
  33. HTTP/HTTPS 代理
  34. SOCKS5 代理(如 Clash)
  35. 取消代理
  36. 3. 配置钩子(Hooks)自动化操作
  37. 示例:运行测试
  38. 四、常见问题与解决方法
  39. 1. 安装失败:E: Unable to locate package git
  40. 2. 权限错误:Permission denied (publickey)
  41. 3. Git 版本过旧
  42. Debian/Ubuntu
  43. Fedora
  44. 4. 终端提示 git: command not found
  45. 五、卸载 Git
  46. 1. 通过包管理器卸载
  47. 2. 手动卸载(源码安装)
  48. 六、学习资源推荐
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • MCP 插件配置实战:browser-tools-mcp 示例
  • Java DateTimeException: LocalTime 解析异常原因及解决方案
  • PowerShell 无法激活 Python 虚拟环境的解决方案
  • VS Code SSH 远程环境中 Copilot 无模型选项问题修复
  • 知网 AIGC 检测原理及论文被判定为 AI 生成的原因分析
  • FPGA 工程师岗位方向与核心职责解析
  • Trae AI 将设计稿自动生成前端代码图文指南
  • STL map/multimap 接口使用与核心特性详解
  • Python 入门实战:3 个练手小项目(含代码)
  • 智能车电磁组进阶:ADC 信号处理与差比和差算法
  • 红黑树原理、规则及 C++ 代码实现
  • Qwen3-VL 电力巡检机器人:输电线路图像缺陷识别
  • Unity 接入 DeepSeek 实现 AI 对话的完整步骤
  • 基于STM32与NB-IoT的温室智能调控系统
  • Python 兼职接单常见方式与注意事项指南
  • Whisper 语音识别库编译与 CUDA 加速配置指南
  • Git 强制推送删除远程仓库错误提交记录
  • VSCode + GitHub Copilot AI 编程实战指南
  • 小米智能家居 Miloco 分离式部署实战指南
  • Windows Subsystem for Linux (WSL) Ubuntu 安装与配置教程

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online