切换Git分支后仍可见其他分支提交文件,故障原因何在?
Git分支切换后新增文件仍可见的原因及解决方法
核心原因
- 未追踪文件残留:执行
git add时未指定完整路径,或是新增了空文件夹(Git默认不追踪空文件夹),这些未被Git纳入版本管理的文件,分支切换时不会被清理,会一直留在本地工作区。 - 提交不完整:
git add命令没选中所有新增文件,导致部分变更未提交到branch-two,这些未提交的工作区变更,切换分支后依然会显示。
验证方法
- 切换回
branch-two,执行git status,查看是否存在未追踪或未提交的文件。 - 执行
git log --stat,检查最近一次提交记录里是否包含你新增的文件/文件夹。
解决步骤
- 切换到
branch-two分支:git checkout branch-two - 确保所有变更被正确追踪:执行
git add .(点号代表当前目录下所有未追踪/已修改文件) - 若之前提交遗漏,补充提交:
git commit --amend(修改上次提交)或git commit -m "补充提交新增文件" - 若为空文件夹,在文件夹内添加
.gitkeep占位文件,再执行git add .和提交 - 再次切换回
master分支:git checkout master,此时新增文件应该会从工作区消失
内容的提问来源于stack exchange,提问作者Kamil Jaworski
相关产品推荐
相关产品推荐

