.git/info/exclude 的对面 - 包括被 .gitignore 排除的文件

Posted

技术标签:

【中文标题】.git/info/exclude 的对面 - 包括被 .gitignore 排除的文件【英文标题】:Opposite of .git/info/exclude - including files that are excluded by .gitignore 【发布时间】:2017-03-29 21:31:48 【问题描述】:

有没有办法包含项目 .gitignore 文件特别排除的文件?与 .git/info/exclude 列表如何在不受版本控制的情况下排除文件类似,我想恢复由 .gitignore 完成的排除,以便我可以看到这些文件中的更改。

【问题讨论】:

How do negated patterns work in .gitignore?的可能重复 @Ben Nelson,你得到你想要的答案了吗?如果是,请标记,对后来者有帮助:) 【参考方案1】:

排除.gitignore中的文件,文件有四种状态:

    未追踪 已删除 已上演但已修改 暂存,无变化

所以你可以使用git ls-files -o查看未跟踪的文件,git ls-files -d查看上次操作删除的文件,git ls-files -m查看修改的文件,git ls-files -s查看已暂存的文件

【讨论】:

【参考方案2】:

是的:只需添加它们(编辑:使用git add -f)。忽略规范仅适用于扫描未跟踪文件时(或当明确使用忽略条件时,git ls-files 可以例如显示与忽略条件匹配的跟踪文件)。

【讨论】:

实际上,这可能不是我想要的 100%。我更想将文件列为未跟踪文件,因为它们不是我一定要包含在我的提交中的东西,但我希望收到它们在存储库中存在的通知。很抱歉造成混乱! 您可以列出与您想要的任何模式匹配的文件,git ls-files 具有--exclude-per-directory 功能,允许您构建和跟踪任意.gitignore 样式的文件名选择,您可以以任何你想要的方式自己使用它们,但git status 等只使用标准排除项。

以上是关于.git/info/exclude 的对面 - 包括被 .gitignore 排除的文件的主要内容,如果未能解决你的问题,请参考以下文章

忽略Git存储库中SVN中的文件

Git 小技能

Git 忽略提交 .gitignore

无法跟踪 Git 子模块中的文件

git 忽略文件的三种方式

.gitignore 文件忽略自身