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

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

# 更新软件包列表
sudo apt update
# 安装 Git
sudo apt install git -y
# 验证安装
git --version
输出示例:git version 2.39.0
# 启用 EPEL 仓库(若未启用)
sudo yum install epel-release -y
# 安装 Git
sudo yum install git -y
# 或使用 dnf(CentOS 8+)
sudo dnf install git -y
# 验证安装
git --version
# 使用 dnf 安装
sudo dnf install git -y
# 验证安装
git --version
# 使用 pacman 安装
sudo pacman -Syu git
# 验证安装
git --version
下载并解压 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
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
# 验证配置
git config --global --list
生成 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.
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。
# Linux/macOS
git config --global core.autocrlf input
git config --global core.safecrlf warn # 检测混合换行符
安装 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"
# 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
示例:在提交前运行代码检查
• 进入仓库的 .git/hooks 目录:
cd /path/to/repo/.git/hooks
• 创建 pre-commit 文件:
#!/bin/bash
echo "Running code checks..."
npm test
# 示例:运行测试
• 赋予执行权限:
chmod +x pre-commit
E: Unable to locate package git解决:更新软件源并重试:
sudo apt update && sudo apt install git -y
Permission denied (publickey)解决:
ssh-agent:eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
升级 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
git: command not found解决:
• 检查是否已安装:which git。
• 若未安装,通过上述方法重新安装。
• 确保 Git 路径在环境变量中(echo $PATH)。
• Debian/Ubuntu:
sudo apt remove git -y
• CentOS/RHEL:
sudo yum remove git -y
sudo rm -rf /usr/local/bin/git
sudo rm -rf /usr/local/share/doc/git

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML 转 Markdown 互为补充。 在线工具,Markdown 转 HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML 转 Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online