Git 平台实战:GitHub / GitLab / Gitee 与 SSH、Token、多远程同步

平台只是托管,Git 本身不变。真正拉开差距的是认证怎么配、多平台怎么同步、国内怎么加速——这篇把平台侧的高频操作一次讲完。

最后更新:2026-10-30

Git 命令速查表 → 远程协作指南 → Git 急救手册 →

三句话选平台

三家平台对比

维度GitHubGitLabGitee
定位全球开源社区一体化 DevOps国内托管
免费私有仓库无限(有额度限制)无限有限成员数
CI/CDGitHub ActionsGitLab CI(内置)Gitee Go
国内访问较慢一般快
评审术语Pull RequestMerge RequestPull Request

SSH 密钥:一次配好,长期免密

ssh-keygen -t ed25519 -C "you@example.com"     # 生成(一路回车)
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
cat ~/.ssh/id_ed25519.pub                       # 复制公钥到平台
ssh -T git@github.com                           # 测试连通

Token / PAT:HTTPS 与 API 的钥匙

git config --global credential.helper manager   # 首次输入后记住
# 临时克隆(会留在 shell history,不建议)
git clone https://<token>@github.com/you/repo.git

一个仓库,多个远程

git remote add gitee git@gitee.com:you/repo.git
# 让 origin 同时拥有多个 push 地址
git remote set-url --add --push origin git@github.com:you/repo.git
git remote set-url --add --push origin git@gitee.com:you/repo.git
git push origin main        # 一次推到两个平台
git remote -v               # 核对 push 地址

也可以保留独立远程,逐个推:git push gitee main。注意:多 push 地址会让失败互相牵连,任一处报错整条命令返回失败。

国内访问慢?四招

PR / MR:术语与流程对照

常见问题

同一台电脑怎么同时用 GitHub 和 Gitee 的 SSH?

给两个平台各生成一把密钥,在 ~/.ssh/config 里为 github.com 和 gitee.com 分别指定 IdentityFile,再分别把公钥加到对应平台。ssh -T git@github.com 与 ssh -T git@gitee.com 都返回成功即可。

推送提示 password authentication was removed 怎么办?

GitHub 已不支持密码推送。改用 SSH 密钥,或创建 Personal Access Token 并在提示密码时粘贴 token;也可以配置凭据管理器 git config --global credential.helper manager,首次输入后记住。

国内 clone 很慢有什么办法?

优先浅克隆 --depth 1;给 GitHub 单独配代理(只对 github.com 生效,不要全局);用 insteadOf 强制走 SSH;国内协作项目直接放 Gitee 或自建 GitLab。