将忽略的文件保持在git状态之外
我想停止Git在git status
显示忽略的文件,因为在已更改但没有更新的文件列表中有大量的文档和configuration文件,使列表半成品无用。
Git显示这些文件是否正常?
我把忽略信息放在Git仓库根目录下的.gitignore
文件中,当使用git add .
时候不会git add .
但是它们似乎并没有被完全忽略,因为它们出现在前面提到的列表中, 并没有出现在由git ls-files --others -i --exclude-standard
打印的列表中。 只有~/.gitignore
的模式匹配的文件出现在那里。
难道是因为在较早的阶段,我没有忽视他们,他们至less犯了一次?
正如我在这篇文章中发现的 , .gitignore
只适用于未跟踪的文件。 如果您将文件添加到存储库,则可以:
git update-index --assume-unchanged <file>
或者将其从存储库中删除
git rm --cached <file>
编辑
本文也解释了这一点
我也遇到了这个问题,这可能是因为在初始提交stream程中,被GIT标记为“要被跟踪”之后,您将被忽略的目录/文件添加到.gitignore。
所以你需要像这样清除git跟踪caching:
git rm --cached -r [folder/file name]
更详细的解释可以在这里阅读: http : //www.frontendjunkie.com/2014/12/stop-git-from-tracking-changes-to.html
上述命令还从远程GIT源中删除了文件夹/文件的残余部分。 所以你的GIT回购变得干净。
从人git-lsfiles :
-i, --ignored Show ignored files in the output. Note that this also reverses any exclude list present.
就我个人而言,我倾向于将doxygen文件保存在我的源代码树中,所以我只是将它添加到我的.gitignore(位于我的源代码树的最顶层目录中)中:
docs/*
希望有所帮助。
喜欢这个
git --ignored myfolder
并将仅显示我的文件夹的状态
这确实有效git rm –cached -r [文件夹/文件名]