执行git push bare master报fatal: not a git repository问题求助
问题原因排查与解决方案
一、本地裸仓库推送报错处理
根因
优先级从高到低:
- 远程仓库路径配置错误:你在用户根目录(
~/)下创建了bare裸仓库,但在Example/Example_laptop路径下执行git remote add bare ../bare时,使用的相对路径../bare指向的是Example/bare目录,和你实际存放在用户根目录的~/bare路径不匹配,git无法找到目标裸仓库,因此抛出报错。 - 命令执行路径错误:如果确认远程路径配置正确,则检查你执行
git push命令时的当前工作目录是否确实在Example/Example_laptop路径下,误切到其他非git仓库目录也会触发该报错。
解决步骤
- 进入
Example/Example_laptop目录,执行git remote -v确认当前bare远程仓库的配置路径,验证是否和实际路径不符。 - 删除错误的远程配置:
git remote remove bare
- 重新添加远程仓库,使用绝对路径避免相对路径匹配错误:
git remote add bare ~/bare
- 重新执行推送命令即可正常提交:
git push bare master
二、GitHub仓库无法访问处理
按以下顺序逐一排查:
- 验证网络连通性:执行
ping github.com,如果返回超时优先处理网络连接问题。 - 验证鉴权配置:
- 若使用SSH协议操作GitHub:执行
ssh -T git@github.com,如果返回Hi 你的用户名类提示说明SSH配置正常,否则将本地~/.ssh/id_rsa.pub的公钥内容添加到GitHub账号的SSH密钥列表中。 - 若使用HTTPS协议操作GitHub:GitHub自2021年起不再支持账号密码直接验证,需要生成个人访问令牌(PAT)作为验证密码使用,同时可执行
git config --global credential.helper确认本地凭证管理器配置是否正常,如有过期凭证需更新。
- 若使用SSH协议操作GitHub:执行
内容的提问来源于stack exchange,提问作者Jawad Bounaâs
相关产品推荐
相关产品推荐

