我正在使用git管理多个pdf
和graffle
个文件。我想将pdf
文件添加到存储库中,如果不存在具有相同文件名的graffle
,e。克。
仅将foo.pdf
和bar.graffle
添加到目录
$ ls
foo.pdf
bar.pdf
bar.graffle
如果仅使用gitignore
无法完成此类目标,是否存在任何解决方法?
bar.pdf
生成 bar.graffle
,因此我希望将它们保留在提交中。
答案 0 :(得分:5)
请注意,.gitignore
仅作为git
的提示存在,git add
将忽略哪些文件,目录或文件类型。
但是,如果您使用.gitignore
,git add -f
将不会停止将任何文件添加到存储库中。
长话短说,.gitignore
是一种相当简单的机制,有助于避免意外添加典型的垃圾文件(如编辑器备份,目标文件,可执行文件等),但它不够复杂,无法满足要求你要求 - 就像根据一些外部条件改变行为一样。
如果你不想要它们,你可以小心不要添加一些文件,或者用git add -f
添加被忽略的文件,从而覆盖现有的简单规则。
或者,您可以创建一些脚本并将其注册为git宏,如git addc
,它将执行此类高级过滤。