Mac 本地项目推送至 GitHub 完整指南
第一步检查本地 SSH 密钥macOS 默认 SSH 密钥路径为 ~/.ssh/id_rsa私钥和 ~/.ssh/id_rsa.pub公钥。查看是否有现有密钥ls -la ~/.ssh/如果没有密钥生成一对ssh-keygen -t rsa -b 4096 -C “your_emailexample.com”一路回车使用默认路径即可复制公钥内容cat ~/.ssh/id_rsa.pub将输出的内容完整复制前往 GitHub → Settings → SSH and GPG Keys → New SSH Key粘贴并保存。第二步配置 SSH Config解决 22 端口被封问题部分网络环境公司网络、部分 ISP会封禁 SSH 默认的 22 端口导致 git push 失败。通过以下配置使用 443 端口HTTPS 端口绕过限制。编辑 SSH 配置文件vi ~/.ssh/config添加以下内容Host github.comHostname ssh.github.comPort 443User gitIdentityFile ~/.ssh/id_rsaIdentitiesOnly yes说明Hostname ssh.github.com — GitHub 提供的 SSH-over-HTTPS 域名Port 443 — 走 HTTPS 端口通常不会被防火墙拦截IdentityFile — 指定使用的私钥路径IdentitiesOnly yes — 只使用指定的密钥避免尝试其他密钥导致失败第三步测试 SSH 连接ssh -T gitgithub.com成功时会输出Hi 你的用户名! You’ve successfully authenticated, but GitHub does not provide shell access.常见错误Permission denied (publickey) → 公钥未添加或 SSH config 配置错误Connection timed out → 检查网络代理设置或确认 SSH config 中的 Hostname 和 Port 是否正确第四步设置远程仓库地址首次添加远程仓库git remote add origin gitgithub.com:用户名/仓库名.git已有远程地址需要修改从 HTTPS 切换为 SSHgit remote set-url origin gitgithub.com:用户名/仓库名.git验证远程地址git remote -v预期输出origin gitgithub.com:用户名/仓库名.git (fetch)origin gitgithub.com:用户名/仓库名.git (push)第五步推送代码首次推送设置上游分支关联git push --set-upstream origin main后续推送只需git push附录HTTPS 方式备选如果 SSH 配置遇到问题可以临时使用 HTTPS 方式设置远程地址为 HTTPSgit remote set-url origin https://github.com/用户名/仓库名.git首次推送会要求输入 GitHub 用户名和 Token不是密码git push --set-upstream origin mainGitHub 已废弃密码认证需使用 Personal Access Token 代替密码。快速操作清单1. 生成密钥如已有则跳过ssh-keygen -t rsa -b 4096 -C “your_emailexample.com”2. 复制公钥 → 添加到 GitHub Settingscat ~/.ssh/id_rsa.pub3. 配置 SSH解决 22 端口问题可选但推荐echo ’Host github.comHostname ssh.github.comPort 443User gitIdentityFile ~/.ssh/id_rsaIdentitiesOnly yes’ ~/.ssh/config4. 测试连接ssh -T gitgithub.com5. 设置远程地址git remote add origin gitgithub.com:用户名/仓库名.git6. 推送git push --set-upstream origin main
