Git新手求助:为何子文件夹创建的文件推送后出现在仓库根目录?
Git文件提交路径错误的排查与解决
可能的操作失误点
添加文件时未使用正确的相对路径:
如果你在仓库根目录执行git add file_c,而非git add subfolder_1/file_c,只有当根目录存在file_c时该命令才会生效——这说明你可能不小心把subfolder_1里的file_c移到了根目录,或是创建文件时就搞错了位置。
要是你在subfolder_1目录内执行git add file_c,Git本应正确记录subfolder_1/file_c的路径,除非你错误地在subfolder_1内又初始化了一个独立Git仓库(但你git remote -v显示的是主仓库地址,这个可能性极低)。提交前未检查暂存区内容:
你可以通过git status查看暂存区的文件路径,确认file_c的路径是否为subfolder_1/file_c。如果显示的是无前缀的file_c,那说明你确实把它加到了根目录。
修复步骤
- 先移除远程仓库中位置错误的文件:
git rm --cached file_c git commit -m "移除根目录下错误提交的file_c" git push - 确保
file_c在subfolder_1目录内,再正确添加并推送:git add subfolder_1/file_c git commit -m "将file_c添加至subfolder_1目录" git push
后续注意事项
- 每次添加文件后,用
git status确认文件路径是否正确 - 优先使用相对路径添加单个文件,若要添加子目录下所有文件,可先进入该子目录再执行
git add .
内容的提问来源于stack exchange,提问作者Dysalia
相关产品推荐
相关产品推荐

