新项目首次提交 GitHub 报错“未配置远端 origin”怎么办
笔者在机器上已经配置好 GitHub 的 SSH 密钥,新项目也带了提交脚本,但第一次执行时却直接报错:
$ scripts/commit-to-github.sh --version 0.1.0 -m "init"
错误:未配置远端 origin;请先手工配置,或使用 --no-push / --dry-run
这个提示并不复杂:本地仓库还没有关联 GitHub 上的远端仓库。下面按最简步骤处理。
整个首次提交流程可以概括为:先建空仓库,再配置 origin,然后运行提交脚本;如果 origin 已存在但地址不对,则改为修改地址。配置好 origin 之后,还可能遇到 Git 作者身份未配置的新错误,这部分在文末单独说明。
01 | 先在 GitHub 建一个空仓库
登录 GitHub,新建一个仓库。注意不要勾选 README、.gitignore 和 License,保持空仓库状态,避免首次推送时出现内容冲突。
创建完成后,复制仓库的 SSH 地址,格式类似:
git@github.com:AlfredZhao/fastOnto.git
02 | 在项目目录配置 origin
进入项目目录,执行:
git remote add origin git@github.com:AlfredZhao/fastOnto.git
然后确认远端是否配置成功:
git remote -v
能看到 origin 对应的地址,就说明配置生效了。
03 | 重新运行提交脚本
远端配置好后,再次执行原来的命令:
scripts/commit-to-github.sh --version 0.1.0 -m "init"
此时脚本就能找到 origin,继续完成提交和推送。
04 | origin 已存在但地址不对
如果执行 git remote add 时提示 origin 已存在,说明之前配置过远端,只是地址不正确。这时不要重复添加,改用修改地址的命令:
git remote set-url origin git@github.com:你的用户名/fastOnto.git
改完后再运行一次提交脚本即可。
05 | 添加 origin 后遇到的新错误:Git 作者身份未配置
配置好 origin、重新运行提交脚本后,可能会遇到一个新的错误:
错误:Git 作者身份未配置,请设置 user.name / user.email
这个错误与远端配置无关,原因是当前 Git 环境还没有设置提交者身份。Git 在生成提交记录时需要知道“是谁提交的”,也就是作者姓名和邮箱;如果这两项没有配置,提交就无法完成,脚本自然也会在这一步报错。
解决方法是先设置 user.name 和 user.email,再重新运行提交脚本。设置时注意区分作用范围:
- 只对当前项目生效:在项目目录中执行
git config user.name "你的名字"/git config user.email "你的邮箱"(不带--global)。 - 对当前用户的所有仓库生效:加上
--global参数。
在项目目录中执行的具体命令
先进入项目目录(也就是执行提交脚本的那个目录),然后按需选择下面两组命令之一。
方式一:只对当前项目生效(推荐,不带 --global)
cd /path/to/fastOnto
git config user.name "你的名字"
git config user.email "你的邮箱"
例如:
cd /path/to/fastOnto
git config user.name "你的名字"
git config user.email "你的邮箱"
方式二:对当前用户的所有仓库生效(带 --global)
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
确认设置是否生效
git config user.name
git config user.email
如果两条命令分别输出了你设置的名字和邮箱,说明配置已经写入。若想确认写入的是哪个范围,可以加上 --show-origin:
git config --show-origin user.name
git config --show-origin user.email
输出中会显示配置来自项目内的 .git/config(仅当前项目)还是用户级的全局配置文件(--global)。
设置完成后,可以重新执行原来的提交脚本:
scripts/commit-to-github.sh --version 0.1.0 -m "init"
如果仍然报同样的错误,说明设置没有生效,需要检查是否在正确的目录下执行、以及配置是否写入了预期的范围。
06 | 一个前提
以上步骤的前提是本机 GitHub SSH 密钥已经配置好。如果推送时仍然提示认证问题,按终端提示完成 SSH 认证配置即可。
关注我,和AI一起成长~
原文地址: https://www.cveoy.top/t/topic/qHQ2 著作权归作者所有。请勿转载和采集!