VS Code克隆Azure DevOps仓库及创建Git分支报错求助
解决方案:Azure DevOps克隆Git LFS报错及分支创建失败问题
一、Git LFS对象未找到(404)及Smudge Filter失败解决
- 先确认Azure DevOps仓库的LFS对象状态:
登录Azure DevOps仓库后台,检查web/__image_snapshots__/FlatrisGame-FlatrisGame-snap.png对应的LFS对象是否存在。如果是从GitHub导入的仓库,大概率是导入过程中LFS对象没同步成功,手动重新推送该文件到DevOps仓库:- 在能正常访问该文件的本地仓库(比如原GitHub仓库),执行
git lfs track "web/__image_snapshots__/*.png"确认跟踪规则 - 执行
git add .gitattributes和git commit -m "Fix LFS tracking for snapshot images" - 执行
git push origin <目标分支名>推送LFS对象到DevOps仓库
- 在能正常访问该文件的本地仓库(比如原GitHub仓库),执行
- 本地修复拉取问题:
- 删除已克隆的本地文件夹,重新克隆时加
--no-smudge参数跳过LFS文件拉取:git clone --no-smudge <你的DevOps仓库URL> - 进入克隆后的文件夹,执行
git lfs pull手动拉取LFS对象。如果还是报404,检查Git LFS的远程配置:执行git config --get remote.origin.lfsurl,确认地址指向Azure DevOps的LFS服务,不对的话执行git config remote.origin.lfsurl https://<你的组织名>@dev.azure.com/<组织名>/<项目名>/_git/<仓库名>.git/info/lfs - 要是还是不行,临时禁用LFS的smudge过滤:
git config --global filter.lfs.smudge "git-lfs smudge --skip -- %f",之后按需拉取特定文件:git lfs pull --include="web/__image_snapshots__/FlatrisGame-FlatrisGame-snap.png"
- 删除已克隆的本地文件夹,重新克隆时加
二、创建分支提示“untracked working tree files would be overwritten”解决
- 这个错误是因为本地存在未被Git跟踪的文件,切换分支时这些文件会被覆盖,处理方式如下:
- 先执行
git status查看具体是哪些未跟踪文件 - 按需求处理:
- 不需要保留的话直接删除:Windows下用
rmdir /s <文件/文件夹路径>,或者手动右键删除 - 需要保留的话,先暂存这些文件:
git add <未跟踪文件路径>,然后提交:git commit -m "Temporarily stage untracked files",之后再创建分支 - 也可以把文件移到仓库外的临时文件夹,创建分支后再移回来
- 不需要保留的话直接删除:Windows下用
- 先执行
内容的提问来源于stack exchange,提问作者VB8
相关产品推荐
相关产品推荐

