如何在gitignore中使用条件

Hao*_*eng 0 git gitignore

我用git 管理几个pdfgraffle文件.我想pdf仅在graffle文件名不相同的情况下才将文件添加到存储库,例如

只添加foo.pdfbar.graffle进入目录库

$ ls
foo.pdf
bar.pdf
bar.graffle
Run Code Online (Sandbox Code Playgroud)

如果这样的目标不能仅用于完成gitignore,是否存在任何工作?

bar.pdf只能bar.graffle通过GUI中的几个步骤生成,所以我想让它们保持提交.

mvp*_*mvp 5

请注意,.gitignore仅作为提示git忽略哪些文件,目录或文件类型git add.

但是,.gitignore如果您使用,则不会停止将任何文件添加到存储库中git add -f.

长话短说,.gitignore相当简单的机制,有助于避免意外添加典型的垃圾文件(如编辑器备份,目标文件,可执行文件等),但它不够复杂,无法满足您的要求 - 如改变行为取决于一些外部条件.

如果您不想要它们,可以小心不要添加一些文件,或者添加忽略的文件,git add -f从而覆盖现有的简单规则.

或者,您可以创建一些脚本并将其注册为git宏,就像git addc它将进行此类高级过滤一样.