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

Linux 系统 Git 安装配置与常见问题排查

详细记录了 Linux 系统下 Git 的安装流程,涵盖 Debian、CentOS、Fedora 及 Arch 等主流发行版,支持包管理器与源码编译两种方式。内容包含用户身份配置、SSH 密钥生成、常用命令别名设置、跨平台换行符处理以及代理配置等基础与进阶操作。此外,还整理了常见报错如权限拒绝、命令未找到等的排查思路,并提供卸载方法。适合需要在 Linux 环境搭建 Git 工作流的开发者参考。

山野来信发布于 2026/3/23更新于 2026/10/781 浏览
Linux 系统 Git 安装配置与常见问题排查

Linux 系统 Git 安装配置与常见问题排查

在 Linux 环境下开发,Git 是绕不开的工具。无论是团队协作还是个人项目版本管理,一套规范的 Git 环境都是基础。下面结合不同发行版,聊聊如何快速搭建并优化你的 Git 环境。

一、安装 Git

不同 Linux 发行版的包管理器略有差异,选择对应命令即可。

Debian/Ubuntu 系列

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

输出示例:git version 2.39.0

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

Fedora 系列

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

Arch/Manjaro 系列

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

源码编译安装(适用于所有发行版)

如果官方源版本过旧,可以考虑从源码编译。先下载并解压源码:

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),可设置密码保护。

添加公钥到平台:

cat ~/.ssh/id_ed25519.pub

复制输出内容,登录 GitHub → Settings → SSH and GPG Keys → New SSH Key 粘贴即可。

测试连接:

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 lg 查看图形化日志。

4. 解决跨平台换行符问题

Windows 和 Linux/macOS 的换行符不一致,容易导致冲突。

# Linux/macOS 推荐配置
git config --global core.autocrlf input
git config --global core.safecrlf warn

三、高级设置

1. 配置差异工具

Git 自带的 diff 不够直观?可以配置 Meld 或 Beyond Compare 等工具。

以 Meld 为例:

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

确保已安装 Meld:

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

2. 配置代理

国内网络访问 GitHub 有时不稳定,配置代理能提升速度。

# HTTP/HTTPS 代理
# 注意替换实际 IP 和端口
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)自动化

利用 Hooks 可以在提交前自动运行检查脚本,比如代码格式校验或单元测试。

进入仓库 .git/hooks 目录,创建 pre-commit 文件:

cd /path/to/repo/.git/hooks
vim pre-commit

写入内容:

#!/bin/sh
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)

检查 SSH 密钥是否已添加到远程仓库,并确保密钥已加载到 agent:

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

3. 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。若未安装,参考上述步骤重新安装。同时检查环境变量:

echo $PATH

确保 Git 路径在其中。

五、卸载 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

六、参考资料

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

搞定这些配置,基本就能应对日常开发了。遇到具体报错时,善用 man git 或搜索官方文档,通常能找到答案。

目录

  1. Linux 系统 Git 安装配置与常见问题排查
  2. 一、安装 Git
  3. Debian/Ubuntu 系列
  4. 更新软件包列表
  5. 安装 Git
  6. 验证安装
  7. CentOS/RHEL 系列
  8. 启用 EPEL 仓库(若未启用)
  9. 安装 Git
  10. 或使用 dnf(CentOS 8+)
  11. 验证安装
  12. Fedora 系列
  13. 使用 dnf 安装
  14. 验证安装
  15. Arch/Manjaro 系列
  16. 使用 pacman 安装
  17. 验证安装
  18. 源码编译安装(适用于所有发行版)
  19. Debian/Ubuntu
  20. CentOS/RHEL
  21. 验证安装
  22. 二、基础配置
  23. 1. 设置全局用户名和邮箱
  24. 验证配置
  25. 2. 配置 SSH 密钥
  26. 3. 配置 Git 别名
  27. 4. 解决跨平台换行符问题
  28. Linux/macOS 推荐配置
  29. 三、高级设置
  30. 1. 配置差异工具
  31. Debian/Ubuntu
  32. CentOS/RHEL
  33. 2. 配置代理
  34. HTTP/HTTPS 代理
  35. 注意替换实际 IP 和端口
  36. SOCKS5 代理(如 Clash)
  37. 取消代理
  38. 3. 配置钩子(Hooks)自动化
  39. 四、常见问题与解决方法
  40. 1. 安装失败:E: Unable to locate package git
  41. 2. 权限错误:Permission denied (publickey)
  42. 3. Git 版本过旧
  43. Debian/Ubuntu
  44. Fedora
  45. 4. 终端提示 git: command not found
  46. 五、卸载 Git
  47. 1. 通过包管理器卸载
  48. Debian/Ubuntu
  49. CentOS/RHEL
  50. 2. 手动卸载(源码安装)
  51. 六、参考资料

更多推荐文章

查看全部
  • 宇树 Unitree 机器人 ROS 2 环境部署指南 (Humble + 真实硬件)
  • AI 提示词实战:利用人设设定(Character Prompt)引导模型精准扮演角色
  • OpenClaw 腾讯云服务器部署与飞书对接实战
  • 从建模到交互:Python 构建真实 3D 场景的完整工作流详解
  • Python+Copilot 全流程开发效率提升指南:从语法纠错到项目重构
  • PostgreSQL 安装教程及初始使用
  • LIBWEBKIT2GTK-4.1-0 实战:构建轻量级浏览器
  • WebMCP:浏览器原生 AI 交互协议解析与接入指南
  • AI 辅助艺术创作:风格迁移与构图生成
  • 夸克网盘精选资源合集:书籍、软件、教程及 AI 资料
  • 快速排序非递归实现详解:原理与代码
  • FastAPI 架构深度解析:依赖注入、后台任务与 WebSocket 实战
  • 数据结构:顺序表定义、操作与经典题解
  • GCC 14与C++26并发新特性深度解析
  • Python 岗位面试经验总结与求职方向建议
  • 大模型算法岗常见面试题及核心技术解析
  • 金融领域自然语言处理应用与实战指南
  • 利用 AI 工具组合高效完成文献综述的方法与实践
  • 网络安全:PHP 代码审计中的 SQL 注入 WAF 绕过技巧
  • 算法性能优化实战:从瓶颈定位到效率提升

相关免费在线工具

  • 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