将忽略的文件保持在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 [文件夹/文件名]