新项目首次提交 GitHub 报错“未配置远端 origin”怎么办

笔者在机器上已经配置好 GitHub 的 SSH 密钥,新项目也带了提交脚本,但第一次执行时却直接报错:

bash 复制代码
$ scripts/commit-to-github.sh --version 0.1.0 -m "init"
错误:未配置远端 origin;请先手工配置,或使用 --no-push / --dry-run

这个提示并不复杂:本地仓库还没有关联 GitHub 上的远端仓库。下面按最简步骤处理。

整个首次提交流程可以概括为:先建空仓库,再配置 origin,然后运行提交脚本;如果 origin 已存在但地址不对,则改为修改地址。配置好 origin 之后,还可能遇到 Git 作者身份未配置的新错误,这部分在文末单独说明。
flowchart TD A执行提交脚本 --> B{是否已配置 origin?} B -- 否 --> CGitHub 新建空仓库 C --> D复制 SSH 地址 D --> Egit remote add origin E --> Fgit remote -v 确认 F --> G重新运行提交脚本 B -- 是但地址不对 --> Hgit remote set-url origin H --> G G --> I{是否提示 Git 作者身份未配置?} I -- 是 --> J设置 user.name / user.email J --> G I -- 否 --> K提交并推送成功

01 | 先在 GitHub 建一个空仓库

登录 GitHub,新建一个仓库。注意不要勾选 README、.gitignore 和 License,保持空仓库状态,避免首次推送时出现内容冲突。

创建完成后,复制仓库的 SSH 地址,格式类似:

bash 复制代码
git@github.com:AlfredZhao/fastOnto.git

02 | 在项目目录配置 origin

进入项目目录,执行:

bash 复制代码
git remote add origin git@github.com:AlfredZhao/fastOnto.git

然后确认远端是否配置成功:

bash 复制代码
git remote -v

能看到 origin 对应的地址,就说明配置生效了。

03 | 重新运行提交脚本

远端配置好后,再次执行原来的命令:

bash 复制代码
scripts/commit-to-github.sh --version 0.1.0 -m "init"

此时脚本就能找到 origin,继续完成提交和推送。

04 | origin 已存在但地址不对

如果执行 git remote add 时提示 origin 已存在,说明之前配置过远端,只是地址不正确。这时不要重复添加,改用修改地址的命令:

bash 复制代码
git remote set-url origin git@github.com:你的用户名/fastOnto.git

改完后再运行一次提交脚本即可。

05 | 添加 origin 后遇到的新错误:Git 作者身份未配置

配置好 origin、重新运行提交脚本后,可能会遇到一个新的错误:

bash 复制代码
错误:Git 作者身份未配置,请设置 user.name / user.email

这个错误与远端配置无关,原因是当前 Git 环境还没有设置提交者身份。Git 在生成提交记录时需要知道"是谁提交的",也就是作者姓名和邮箱;如果这两项没有配置,提交就无法完成,脚本自然也会在这一步报错。

解决方法是先设置 user.name 和 user.email,再重新运行提交脚本。设置时注意区分作用范围:

  • 只对当前项目生效:在项目目录中执行 git config user.name "你的名字" / git config user.email "你的邮箱"(不带 --global)。
  • 对当前用户的所有仓库生效:加上 --global 参数。

在项目目录中执行的具体命令

先进入项目目录(也就是执行提交脚本的那个目录),然后按需选择下面两组命令之一。

方式一:只对当前项目生效(推荐,不带 --global)

bash 复制代码
cd /path/to/fastOnto
git config user.name "你的名字"
git config user.email "你的邮箱"

例如:

bash 复制代码
cd /path/to/fastOnto
git config user.name "你的名字"
git config user.email "你的邮箱"

方式二:对当前用户的所有仓库生效(带 --global)

bash 复制代码
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

确认设置是否生效

bash 复制代码
git config user.name
git config user.email

如果两条命令分别输出了你设置的名字和邮箱,说明配置已经写入。若想确认写入的是哪个范围,可以加上 --show-origin:

bash 复制代码
git config --show-origin user.name
git config --show-origin user.email

输出中会显示配置来自项目内的 .git/config(仅当前项目)还是用户级的全局配置文件(--global)。

设置完成后,可以重新执行原来的提交脚本:

bash 复制代码
scripts/commit-to-github.sh --version 0.1.0 -m "init"

如果仍然报同样的错误,说明设置没有生效,需要检查是否在正确的目录下执行、以及配置是否写入了预期的范围。

06 | 一个前提

以上步骤的前提是本机 GitHub SSH 密钥已经配置好。如果推送时仍然提示认证问题,按终端提示完成 SSH 认证配置即可。


关注我,和AI一起成长~

相关推荐
miofly1 小时前
GitHub 日榜趋势速报 | 2026-10-31
开源·github
u13013013 小时前
GitHub 热榜项目:日榜(2026-10-29)
人工智能·github
穆梓兰煊14 小时前
Python 千万级向量检索内存优化手册
github
用户8371332007614 小时前
AI总是会忘记细节咋办?我用GitHub实现外部记忆管理
人工智能·github
逛逛GitHub15 小时前
这 6 个 GitHub 项目是刚开源,但是 Star 攀升很快的几个。
github
wflynn19 小时前
GitHub 日榜趋势速报 | 2026-10-29
开源·github
伊布拉西莫19 小时前
GitHub Actions 自动化发布指南
github·devops
是jin奥20 小时前
Claude Code + GitHub 自动化工作流整理
运维·自动化·github
qianx7721 小时前
KiteNote: 结合MicrosoftToDo和Obsidian优势的日常笔记软件
github