多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

Git 只显示一个新文件夹:怎样展开未跟踪文件清单

Git 只显示一个新文件夹:怎样展开未跟踪文件清单 大家好我是 SiKi老师。给游戏项目加了几个关卡配置准备提交时git status --short只显示?? Levels/。这不代表两个文件丢了也不代表它们已经进了提交。Git 可以把未跟踪目录合并显示先把清单展开再判断哪些文件应该加入版本管理。本文用 Windows 上的独立空仓库验证目录里只有两份自拟 JSON 文件没有引擎工程和真实存档。参数依据是 Git 的 status 官方文档。例子只说明未跟踪文件的显示方式不讨论子模块、合并冲突或大型仓库性能。一 文件夹这一行告诉了你什么短格式中的??表示未跟踪。它是一个状态提示不是操作结果。看到?? Levels/可以理解为这个目录里有尚未跟踪、且没有被忽略的内容不能据此认定整个文件夹已经被暂存。我会先展开路径而不是马上执行批量添加。关卡配置、临时测试结果和个人存档可能放在同一个目录提交范围应由项目约定决定不能由显示是否折叠决定。目录的展示方式还可能受到仓库或用户配置影响所以交流排错结果时最好连命令参数一起写出来。只贴一句“我的 Git 没显示文件”别人无法判断你看到的是正常折叠还是隐藏了未跟踪文件。二 用显式参数对照三种输出在新的练习目录中初始化空仓库创建Levels子目录里面放两份文件level01.json和level02.json各写一个空对象{}即可。请不要在工作工程里复制这套准备动作。随后在这个仓库里运行三条状态查询gitstatus--short--untracked-filesnormalgitstatus--short--untracked-filesallgitstatus--short--untracked-filesno我在隔离实验中得到如下差异参数未跟踪部分的输出normal?? Levels/all分别显示?? Levels/level01.json与?? Levels/level02.jsonno不显示这两份未跟踪文件这三条没有添加、删除或提交文件。最后一条输出空白不表示文件不存在只是本次查询没有展示未跟踪内容。三 展开后依然要确认提交范围--untracked-filesall解决的是“我能不能看清每个路径”不是“我该不该提交它”。如果清单里出现测试存档、缓存或本地配置我会先确认仓库的忽略约定再决定要不要加入。如果一个已被忽略的文件没有出现在展开清单中不要继续反复切换这三个选项。未跟踪显示和忽略规则是两件事这个参数不会把所有被忽略文件自动变成待提交项。判断忽略原因应使用对应的忽略规则检查不要靠修改文件名碰运气。在本文的空仓库里执行下面命令没有输出gitls-files因为两份 JSON 都尚未跟踪。它和status显示的目录行一起说明文件在工作目录里但没有仅因被展示就进入版本管理。四 不要用全局隐藏来处理不想提交的文件有时为了让状态清单“干净”把查询改成--untracked-filesno。临时只看已跟踪文件的改动可以这样做但这不等于处理了新文件。下次协作者拉取仓库时仍然拿不到那些没有提交的关卡配置。如果确实不应跟踪某类文件应明确忽略规则并检查实际匹配结果。若文件应该交付应检查内容后再暂存。隐藏显示既不是忽略规则也不是暂存操作。大型项目中展开所有未跟踪路径可能需要更多扫描时间。本文没有测量耗时或做性能承诺清单很大时应先看目录组织而不是直接得出 Git 出错的结论。五 留下别人可以复现的排查信息我会记录仓库里的相对路径、使用的是哪一种显示模式以及文件是否已经跟踪不公开本机用户名、真实存档内容或私有仓库地址。接下来再核对暂存区这是独立的一步不能从??推断提交结果。如果状态页只显示一个目录先用--untracked-filesall展开。若文件仍没有出现再检查当前仓库位置、路径是否正确和忽略规则。这样能把“被折叠”“被隐藏”“被忽略”分开而不急着对项目执行批量修改。
返回列表