Git克隆成功但检出失败,执行恢复命令报错求解决方案
Git拉取仓库错误修复方案
核心问题
仓库的.gitattributes文件存在无效配置——把Git全局配置命令$ git config --global core.autocrlf true写到了属性文件里,导致Git解析失败;同时还存在Windows下文件名过长的问题。
修复步骤(有仓库推送权限的情况)
- 先做裸克隆绕开本地checkout错误:
git clone --bare <你的GitLab仓库地址> temp-repo.git - 进入临时裸仓库,编辑
.gitattributes删除错误行:
删除第2行的cd temp-repo.git # 用你熟悉的编辑器打开,比如vi或记事本 vi .gitattributes$ git config --global core.autocrlf true,保存退出。 - 把修复后的配置推回远程仓库:
git push origin main # 替换成仓库的默认分支名,比如master - 删除临时仓库:
cd .. rm -rf temp-repo.git - 开启Windows长文件名支持(仅Windows用户):
# 用管理员权限打开PowerShell执行 git config --global core.longpaths true - 最后重新克隆仓库即可:
git clone <你的GitLab仓库地址>
没有推送权限的情况
直接联系仓库所有者或已正常拉取的人,让他们做以下操作:
- 在本地正常的仓库里,打开
.gitattributes删除那行错误的配置命令 - 提交并推送修改:
git add .gitattributes git commit -m "Fix invalid entry in .gitattributes" git push origin <分支名> - 等对方推送完成后,你再重新克隆仓库,同时记得开启Windows长文件名支持(如果是Windows系统)
内容的提问来源于stack exchange,提问作者Lol
相关产品推荐
相关产品推荐

