.gitignore过度忽略文件

时间:2013-10-30 01:42:28

标签: git gitignore

我正在使用git版本1.8.x开发一个关于linux的项目。 我尝试用.gitignore设置一些规则,并很快意识到列出你不想跟踪的所有内容并不是我真正想要的。 所以我试着确定git应该跟踪哪些模式,即:

*

#code files
!**/*.cpp
!**/*.h

但是,git不再跟踪任何新文件了。 那么有可能找到一种方法使其有效吗? 此外,使用!**。cpp仅适用于当前文件夹文件。

谢谢你/

2 个答案:

答案 0 :(得分:2)

#Ignore everything
*

#Whitelist subdirectories
!*/

#Whitelist the gitignore itself
!.gitignore

#Whitelist .cpp and .h files
!*.h
!*.cpp

说明

  • 请记住包含.gitignore本身
  • *忽略所有内容,包括目录。显式列入白名单的子目录仍然会忽略它们包含的文件,但它允许您以递归方式列入白名单
  • 考虑到上一点,您现在可以使用!*.fileext作为模式来列出单个扩展名

答案 1 :(得分:0)

不要忘记添加!.gitignore,这样就不会忽略它自己!

#ignore everything
*
#Whitelist subdirectories - thanks to @Gabriele Petronella
!*/    

#except these:
!*.cpp
!*.h
!.gitignore