0

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

*

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

但是,git 不再跟踪任何新文件。那么有没有可能找到一种方法让它起作用呢?此外,使用 !**.cpp 仅适用于当前文件夹文件。

谢谢哦/

4

2 回答 2

2
#Ignore everything
*

#Whitelist subdirectories
!*/

#Whitelist the gitignore itself
!.gitignore

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

评论

  • 记得包含 .gitignore 本身
  • *忽略一切,包括目录。显式将子目录列入白名单仍然会忽略它们包含的文件,但它允许您递归地列入白名单
  • 考虑到前一点,您现在可以将!*.fileext其用作模式来列出单个扩展
于 2013-10-30T01:48:41.033 回答
0

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

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

#except these:
!*.cpp
!*.h
!.gitignore
于 2013-10-30T01:45:20.457 回答