Git克隆提示空仓库但远程非空,拉取master分支失败求助
解决Windows映射驱动器Git仓库克隆为空/找不到远程分支的问题
排查及解决步骤
1. 确认System1的仓库类型(裸仓库/普通仓库)
Git文件系统共享的远程仓库必须是裸仓库,带工作区的普通仓库无法被正确识别为远程仓库。在System1的仓库目录执行:
git rev-parse --is-bare-repository
- 如果返回
false:将普通仓库转换为裸仓库
之后在System2上,将克隆路径指向这个新的# 在当前仓库外创建裸仓库副本 git clone --bare . ../cap2office.gitcap2office.git目录(调整映射驱动器路径或直接用UNC路径),再重新执行git clone。
2. 验证映射驱动器的权限
确保System2对S盘的仓库目录有完整的读取/写入权限:
- 在System1上右键仓库文件夹 → 「属性」→「共享」→「高级共享」,勾选共享并设置访问用户(或Everyone)拥有读取/写入权限。
- 切换到「安全」选项卡,确认访问用户有
读取和执行、列出文件夹内容、读取权限。 - 在System2手动打开
S:/cap2office/.git/refs/heads目录,确认能看到master文件(该文件存储了master分支的最新提交哈希)。
3. 修复System1的仓库分支引用
在System1的仓库目录执行,确认master分支引用存在:
git show-ref
如果看不到refs/heads/master,执行仓库完整性检查:
git fsck
修复完成后,若使用裸仓库,将本地master分支推送到裸仓库:
git push /path/to/cap2office.git master
4. 使用UNC路径替代映射驱动器克隆
避免映射盘符的缓存或权限问题,直接使用System1的网络路径克隆:
git clone \\[System1计算机名]\[共享文件夹名]\cap2office
5. 确认Git版本一致性
两台机器执行git --version,确保均为2.37.1且架构一致(同为64位或32位),避免版本/架构差异导致的文件访问异常。
内容的提问来源于stack exchange,提问作者Paul Kinzelman
相关产品推荐
相关产品推荐

