.gitignore 文件的对面?[复制]

opposite of .gitignore file? [duplicate]

提问人:morpheus 提问时间:5/16/2011 最后编辑:Communitymorpheus 更新时间:10/9/2012 访问量:34439

问:

这个问题在这里已经有答案了:
11年前关闭。

可能的重复:
使 .gitignore 忽略除少数文件之外的所有内容

是否可以让 git 默认忽略所有文件,除非在特殊文件中指定?

git

评论

1赞 Mark Longair 5/16/2011
正如 sehe 所说,“忽略所有内容然后指定例外”的方法可能是最简单的 - 另见 stackoverflow.com/q/987142/223092stackoverflow.com/q/1248570/223092
2赞 xtian 8/4/2017
不是真的重复。解决方案可能是重复的,但想法是只跟踪列出的文件。IE的。Linux 上用户主目录中的配置文件。

答:

158赞 sehe 5/16/2011 #1

您可以将 !-lines 包含在白名单文件中:.gitignore 和:

*
!included/

将排除所有目录,但“included/”目录除外

请注意,如果您希望与模式匹配的文件不被忽略,则在子目录中,您还需要防止包含目录也被忽略。这应该不会造成大问题,因为 git 实际上并不跟踪目录,只跟踪文件(由存储库路径标识)。

例:

*
!*/
!SOURCES

将忽略除子目录之外的所有内容。SOURCES

评论

3赞 Cascabel 5/16/2011
当然,这一切都记录在 man gitignore 中。
0赞 jldupont 10/6/2011
链接已损坏。使用 linux.die.net/man/5/gitignore
2赞 semente 5/31/2012
当路径是目录时,它对我不起作用......仅用于文件。
11赞 Tobias Kienzler 10/9/2012
如此所示,您还需要添加一个例外,以便允许父路径(也@semente)!*/
3赞 David Cook 5/25/2016
当然,您可能还需要将 .gitignore 文件列入白名单:!*.gitignore
15赞 tamasd 5/16/2011 #2

为此,您可以使用 .gitignore。

*
!file0.txt
!file1.txt

如果您对 file0.txt 和 file1.txt 感兴趣。

评论

7赞 Tobias Kienzler 10/9/2012
但是,这不适用于嵌套路径,您必须使用 !*/ 技巧