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

Git分两次推送文件后GitHub显示空路径,克隆后文件正常的问题咨询

问题分析与解决思路

这种情况我之前也碰到过,大概率是这几个原因导致的:

1. 大小写敏感的路径冲突

如果你的本地系统是Windows或者默认大小写不敏感的macOS,而GitHub仓库是大小写敏感的,就容易出现这种问题:

  • 第一次推送时,可能不小心用了不同大小写的路径(比如assignment而非Assignment)提交了A/B/C,之后又改成正确的Assignment推送D/E
  • 本地系统会自动合并这两个路径,但GitHub会把它们当作两个独立的目录,其中旧的那个因为没有文件就显示为空路径
  • 克隆到本地时,系统的大小写不敏感特性会把两个目录合并,所以你看到所有文件都在正确的Assignment里

验证这个问题的话,你可以在本地用Git命令查看提交历史里的路径:

git log --oneline --name-only

看看有没有大小写不同的Assignment/assignment路径出现。

2. GitHub Web界面的缓存/显示bug

有时候GitHub的web界面会出现缓存延迟,显示的是旧的目录状态,但实际仓库的Git数据是正确的。这种情况一般刷新页面或者等一会儿就会自动消失。

3. 残留的空目录占位文件

如果之前你为了提交空目录,在某个路径下添加过.gitkeep之类的占位文件,之后删除了但没彻底清理提交记录,也可能导致GitHub显示空路径。不过这种情况克隆后本地不会有这个空目录,和你描述的情况不太吻合,但也可以排查下:

git log --all --full-history -- .gitkeep

看看有没有相关的提交记录。


解决方法

如果是大小写冲突的问题,你可以这样修复:

  1. 先把本地的Assignment目录重命名为临时名称(比如Assignment_temp)
  2. 提交这个改名操作:
git add .
git commit -m "Fix case sensitivity for Assignment directory"
  1. 再把临时名称改回Assignment,再次提交:
git mv Assignment_temp Assignment
git add .
git commit -m "Restore Assignment directory name"
  1. 推送到GitHub,之后空路径应该就会消失了

如果是缓存问题,直接刷新GitHub页面或者等几分钟再看就行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:34:31