You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

迁移SSD至新PC后单个Git仓库推送失败(failed to push some refs)求助

特定Git仓库推送失败的排查思路
  • 检查仓库远程URL配置
    执行git remote -v确认远程地址格式(HTTPS/SSH)是否和正常仓库一致,有没有迁移后出现的地址错误。如果是HTTPS,留意凭据是否有效;如果是SSH,确认密钥匹配。

  • 验证WSL2下的权限设置

    • 用ls -la查看当前仓库目录及文件的权限,对比正常仓库,确保当前用户对.git目录及所有文件有读写权限。
    • 若旧SSD挂载在WSL2的/mnt目录,检查挂载参数是否合理(比如是否带uid=1000,gid=1000),避免Windows权限继承导致的问题。
  • 排查仓库专属Git配置
    执行git config --local --list,对比正常仓库的配置,重点看user.name、user.email、credential.helper、远程相关项,有没有异常配置。同时检查git config --local push.default是否和其他仓库一致。

  • 测试远程连接与认证

    • SSH协议:运行ssh -T git@<远程主机地址>(比如GitHub是git@github.com),测试认证是否成功,排查密钥错误或权限拒绝问题。
    • HTTPS协议:尝试手动输入凭据推送:git push https://<用户名>:<密码>@<远程仓库地址>,排除凭据缓存失效的问题。
  • 检查本地仓库完整性

    • 执行git fsck检测仓库是否有损坏的对象或引用,修复潜在的本地仓库问题。
    • 临时创建测试分支推送:git checkout -b test-push,然后git push origin test-push,如果成功,说明原分支可能存在特殊引用冲突(虽然pull正常,但可以进一步排查)。
  • 对比Git环境差异

    • 用git --version查看当前Git版本,原系统Ubuntu18和现Ubuntu20的Git版本可能有差异,尝试升级/降级测试(若可行)。
    • 检查credential.helper配置,WSL2下的凭据助手可能和原生Ubuntu不同,尝试重置为credential.helper=store或cache测试。

内容的提问来源于stack exchange,提问作者reaker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 07:48:15