GitHub 项目提交完整流程(含常见问题与解决办法)

一、前提条件

  1. 本地已安装 Git。

  2. 已有 GitHub 账号。

  3. 本地项目已经有代码(可以是新建的项目或已有项目)。

没有这些的可以看我之前的文章去配置https://blog.csdn.net/2401_83607690/article/details/149034923?spm=1001.2014.3001.5502


二、步骤一:生成 SSH Key(推荐国内稳定使用)

在 Git Bash 中执行:

复制代码
ssh-keygen -t ed25519 -C "你的GitHub邮箱"
  • 一路回车使用默认路径(~/.ssh/id_ed25519

  • passphrase 可以留空

生成结果:

  • 私钥:id_ed25519(不要泄露!)

  • 公钥:id_ed25519.pub

复制公钥到 GitHub

  1. 打开 GitHub → Settings → SSH and GPG keys → New SSH key

  2. Title:随便写,比如 VSCode

  3. Key:打开公钥文件复制内容:

复制代码
cat ~/.ssh/id_ed25519.pub
  1. Add SSH key

三、步骤二:添加远程仓库(SSH over 443 推荐)

复制代码
cd /你的项目目录
git init                # 如果本地还没有 git 仓库
git remote add origin ssh://git@ssh.github.com:443/你的用户名/仓库名.git
  • ssh://git@ssh.github.com:443/... 使用 443 端口可以避免国内网络屏蔽 22 端口的问题

查看远程仓库是否成功:

复制代码
git remote -v

输出应为:

复制代码
origin  ssh://git@ssh.github.com:443/用户名/仓库名.git (fetch)
origin  ssh://git@ssh.github.com:443/用户名/仓库名.git (push)

四、步骤三:添加本地代码到 Git 并提交

复制代码
git add .                     # 添加当前目录所有文件
git commit -m "第一次提交"     # 提交到本地仓库
  • git status 可以随时查看修改状态

五、步骤四:加载 SSH Key 并推送

复制代码
eval $(ssh-agent -s)          # 启动 SSH agent
ssh-add ~/.ssh/id_ed25519      # 添加私钥
ssh -T git@ssh.github.com -p 443  # 测试 SSH 连接
  • 如果显示:

    Hi 用户名! You've successfully authenticated, but GitHub does not provide shell access.

说明 SSH 配置成功。

推送到 GitHub:

复制代码
git push -u origin master      # 如果本地分支是 master
# 或者 git push -u origin main
  • -u 关联本地分支和远程分支,后续直接 git push 就行

六、常见错误与解决办法

错误信息 原因 解决方法
error: src refspec main does not match any 本地没有 main 分支 git branch 查看分支,使用实际分支名推送(如 master
error: No such remote 'origin' 本地没有远程仓库 git remote add origin <仓库URL> 添加远程
Failed to connect to github.com port 443 HTTPS 被墙或网络问题 使用 SSH over 443 或配置代理
ssh: connect to host github.com port 22: Connection timed out SSH 默认端口 22 被阻塞 使用 SSH over 443:ssh://git@ssh.github.com:443/...
Permission denied (publickey) SSH key 未添加到 GitHub 或未加载到 agent 上传公钥到 GitHub,执行 ssh-add ~/.ssh/id_ed25519

七、后续更新项目流程

  1. 修改代码后:

    git add .
    git commit -m "本次修改说明"

  2. 推送到 GitHub:

    git push

  • 因为分支已经关联远程分支,直接 git push 即可

总结

  • 国内用户推荐用 SSH over 443,稳定且不易被墙

  • GitHub 不再支持账号密码推送,HTTPS 需要 PAT

  • SSH Key 只需添加一次,以后无需每次输入密码

  • 遇到问题时先用 git remote -vgit branchgit status 排查


相关推荐
AIMath~4 小时前
彻底删除 GitHub 仓库中特定文件夹的完整指南
github
DogDaoDao5 小时前
【GitHub】OpenClaw:开源个人AI助手的新标杆
人工智能·深度学习·开源·大模型·github·ai编程·opeclaw
一点一木13 小时前
🚀 2026 年 4 月 GitHub 十大热门项目排行榜 🔥
人工智能·github
宝桥南山15 小时前
AI - 在命令行中尝试一下ACP(Agent Client Protocol)通信
microsoft·微软·github·aigc·copilot
拾贰_C18 小时前
【Github | GitHub Copilot | 学生认证】 GitHub Copilot学生如何认证
github
旅之灵夫19 小时前
【GitHub项目推荐--OpenArm:开源7自由度仿人机械臂平台】
github
一乐小哥19 小时前
坚持迭代一个 Chrome 插件半年后,我的同事问我:"这不是 Chrome 自带的功能吗?"
chrome·github·ai编程
Smilezyl20 小时前
一个独立开发者,靠一份 markdown 驱动 Claude Code, 用 20 天跑通 9 个包的 monorepo 工程
前端·人工智能·github
峰向AI20 小时前
做小红书、画信息图、动漫图:这个skill太实用了
github
Cosolar20 小时前
封神级 TTS!VoxCPM2 凭连续表征,玩转多语言合成 + 创意音色 + 无损声纹克隆
人工智能·llm·github