ubuntu配置git和关联GitHub
一、安装 Git
在 Ubuntu 中先更新软件包列表,再安装 Git:
sudo apt update
sudo apt install git -y
git --version ## 验证是否安装成功
apt update 只更新软件包列表;apt install git 安装 Git 及必要依赖。
二、配置提交署名
git config --global user.name "提交署名"
git config --global user.email "GitHub关联邮箱"
这里的 --global 指当前操作系统用户,不代表整台电脑的所有用户,也不会自动同步到其他设备。user.name 和 user.email 写入 commit,用于署名,不等于登录 GitHub。
查看配置及来源:
git config --global --list
git config --show-origin --get user.name
git config --show-origin --get user.email
详细概念见 一、git config。
三、配置 GitHub SSH 认证
1. 生成密钥
先确认当前用户是否已有密钥:
ls -la ~/.ssh
生成 Ed25519 密钥:
ssh-keygen -t ed25519 -C "GitHub关联邮箱"
使用默认文件名时,可在保存位置提示处直接按 Enter。需要区分多把密钥时,可指定名称:
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519_github -C "GitHub关联邮箱"
- 没有
.pub后缀的是私钥,只保存在本机。 - 带
.pub后缀的是公钥,可以添加到 GitHub。 -C后面的邮箱只是密钥备注。- 不应随意加
sudo,否则密钥会生成到 root 的家目录,普通用户默认找不到。
查看公钥:
cat ~/.ssh/id_ed25519_github.pub
将整行公钥添加到 GitHub 的 Settings → SSH and GPG keys → New SSH key。

2. 自定义密钥名时配置 SSH
OpenSSH 会自动尝试若干默认文件名。使用 id_ed25519_github 这类自定义名称时,可写入 ~/.ssh/config:
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_github
IdentitiesOnly yes
git@github.com 中的 git 是 GitHub SSH 服务统一使用的远端用户名。GitHub 根据公钥识别实际账户。
3. 测试连接
ssh -T git@github.com
认证成功时会看到类似信息:
(vision) orangepi@orangepi5plus:~/my_ws/gongchuang$ ssh -T git@github.com
Hi Kristinblue! You've successfully authenticated, but GitHub does not provide shell access.
GitHub 不提供交互式 shell,因此该测试显示认证成功后仍可能返回退出码 1。
常见提示:
Enter passphrase for key ...:输入生成密钥时设置的密钥口令。Permission denied (publickey):检查公钥是否添加到 GitHub、SSH 是否选中了正确私钥、账户是否有仓库权限。git@github.com's password::GitHub 的 Git SSH 认证不使用网页密码,应检查是否连接到了正确服务器。
四、连接仓库
常见远程地址有两种:
| 地址形式 | 认证方式 |
|---|---|
git@github.com:OWNER/REPOSITORY.git |
SSH 密钥 |
https://github.com/OWNER/REPOSITORY.git |
HTTPS 凭据、令牌或凭据管理器 |
查看当前远程地址:
git remote -v
为尚未配置远程的本地仓库添加 origin:
git remote add origin git@github.com:OWNER/REPOSITORY.git
远程和上游分支配置完成后,使用 git pull、git push 同步。git commit 只在本地创建提交,不需要网络。完整建仓流程见 创建新仓库流程。
五、是否需要 gh
gh 是 GitHub CLI,就是github 的命令行工具,普通的 Git 拉取、提交和推送不依赖它。直接在网页版github管理即可,
除非你真的需要在终端创建仓库、管理 Issue、PR 或 Actions 时,可以安装gh
留言区
不收集任何个人信息;昵称只绑定浏览器里的随机 Cookie。