如何在gitignore中使用条件

时间:2012-12-26 06:58:49

标签: git gitignore

我正在使用git管理多个pdfgraffle个文件。我想将pdf文件添加到存储库中,如果不存在具有相同文件名的graffle,e。克。

仅将foo.pdfbar.graffle添加到目录

中的存储库中
$ ls
foo.pdf
bar.pdf
bar.graffle

如果仅使用gitignore无法完成此类目标,是否存在任何解决方法?

只能通过GUI中的几个步骤使用bar.pdf生成

bar.graffle,因此我希望将它们保留在提交中。

1 个答案:

答案 0 :(得分:5)

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

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

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

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

或者,您可以创建一些脚本并将其注册为git宏,如git addc,它将执行此类高级过滤。