GitHub新建仓库无法推送子文件夹内文件,git push提示已最新如何解决
问题根因
- 大概率是你之前的
frontend、backend目录下存在残留的.git隐藏文件夹:旧仓库阶段你可能在这两个目录单独初始化过Git仓库,父级仓库会将其识别为子模块,默认不会追踪目录内的文件内容 - 其次可能是全局/项目级
.gitignore规则匹配了这两个目录下的文件,导致Git自动忽略了这些文件的提交 - 小概率是本地Git缓存残留,没有正确识别文件变更
解决步骤
第一步:清理目录内的残留Git文件
打开终端进入项目根目录,执行以下命令删除子目录下的隐藏.git文件夹:
# macOS/Linux rm -rf ./frontend/.git ./backend/.git # Windows PowerShell Remove-Item -Recurse -Force ./frontend/.git, ./backend/.git
注意:如果确定不需要子目录的Git提交历史再执行删除,避免数据丢失
第二步:清理Git缓存,重新追踪文件
# 清除本地Git缓存 git rm -r --cached . # 重新添加所有文件 git add .
执行完后可以用git status检查,确认frontend、backend下的文件已经被纳入待提交列表。
第三步:重新提交并推送
# 提交变更 git commit -m "fix: add all frontend and backend source files" # 推送到远程仓库 git push origin main
如果你的默认分支不是main,替换成对应分支名(比如master)即可
兜底排查:检查.gitignore规则
如果执行完上面步骤还是无法识别文件,打开项目根目录的.gitignore文件,确认没有匹配frontend、backend下文件的规则,如果有就删除对应规则后重新执行第二步、第三步操作。
内容的提问来源于stack exchange,提问作者mazorSharp
相关产品推荐
相关产品推荐

