一尘不染

使 .gitignore 忽略除少数文件之外的所有内容

javascript

我知道 .gitignore 文件掩盖了 Git 版本控制中的指定文件。我有一个项目(LaTeX),它在运行时会生成许多额外的文件(.auth、.dvi、.pdf、日志等),但我不希望这些文件被跟踪。

我知道我可以(也许应该)将所有这些文件放在项目中的一个单独的子文件夹中,因为我可以忽略该文件夹。

但是,是否有任何可行的方法将输出文件保留在项目树的根目录中并使用 .gitignore 忽略除我使用 Git 跟踪的文件之外的所有内容?就像是

# Ignore everything
*

# But not these files...
script.pl
template.latex
# etc...

阅读 242

收藏
2022-02-10

共1个答案

一尘不染

!否定模式的可选前缀;任何被先前模式排除的匹配文件都将再次包含在内。如果否定模式匹配,这将覆盖较低优先级的模式源。

# Ignore everything
*

# But not these files...
!.gitignore
!script.pl
!template.latex
# etc...

# ...even if they are in subdirectories
!*/

# if the files to be tracked are in subdirectories
!*/a/b/file1.txt
!*/a/b/c/*
2022-02-10