如何在gitignore中使用条件
我正在用git管理几个如何在gitignore中使用条件,git,gitignore,Git,Gitignore,我正在用git管理几个pdf和graffle文件。只有当不存在具有相同文件名的graffle文件时,我才想将pdf文件添加到存储库中,例如。g 仅将foo.pdf和bar.graffle添加到目录中的存储库中 $ ls foo.pdf bar.pdf bar.graffle 如果仅使用gitignore无法完成此目标,是否存在任何解决方法 bar.pdf只能通过GUI中的几个步骤使用bar.graffle生成,因此我希望将它们保持在提交状态。注意,.gitignore仅作为git的提示存在,提
pdf
和graffle
文件。只有当不存在具有相同文件名的graffle
文件时,我才想将pdf
文件添加到存储库中,例如。g
仅将foo.pdf
和bar.graffle
添加到目录中的存储库中
$ ls
foo.pdf
bar.pdf
bar.graffle
如果仅使用gitignore
无法完成此目标,是否存在任何解决方法
bar.pdf
只能通过GUI中的几个步骤使用bar.graffle
生成,因此我希望将它们保持在提交状态。注意,.gitignore
仅作为git
的提示存在,提示git添加将忽略哪些文件、目录或文件类型
但是,如果使用git add-f
,则.gitignore
不会停止任何要添加到存储库中的文件
长话短说,.gitignore
是一种相当简单的机制,有助于避免意外添加典型的垃圾文件(如编辑器备份、对象文件、可执行文件等),但它不够复杂,无法满足您的要求,例如根据某些外部条件改变行为
如果不想添加某些文件,可以小心不要添加它们,或者使用git add-f
添加被忽略的文件,从而覆盖现有的简单规则
或者,您可以创建一些脚本并将其注册为git宏,如
git addc
,这样可以进行高级过滤。请注意,.gitignore
仅作为提示存在于git
中,提示哪些文件、目录或文件类型将被git add
忽略
但是,如果使用git add-f
,则.gitignore
不会停止任何要添加到存储库中的文件
长话短说,.gitignore
是一种相当简单的机制,有助于避免意外添加典型的垃圾文件(如编辑器备份、对象文件、可执行文件等),但它不够复杂,无法满足您的要求,例如根据某些外部条件改变行为
如果不想添加某些文件,可以小心不要添加它们,或者使用git add-f
添加被忽略的文件,从而覆盖现有的简单规则
或者,您可以创建一些脚本并将其注册为git宏,如
git addc
,这样可以进行高级过滤。单独将满足条件的每个文件添加到您的。gitignore
?@tripleee这是我现在使用的解决方案,但我对“完美”很好奇OmniGraffle有一些apple脚本支持。谷歌搜索脚本,将.graffle转换为.pdf。@alexvasi我找到了一个applescript,但它不起作用。我不擅长调试applescript。单独将满足条件的每个文件添加到您的.gitignore
?@tripleee这是我现在使用的解决方案,但我对“完美”的解决方案很好奇。OmniGraffle有一些apple脚本支持。谷歌搜索脚本,将.graffle转换为.pdf。@alexvasi我找到了一个applescript,但它不起作用。我不擅长调试applescript。这是一个很好的解释。但是我认为有必要补充一点,被忽略的文件在git状态下也不可见。如果要检查被忽略的文件,应该使用git status--ignored
。这是一个很好的解释。但是我认为有必要补充一点,被忽略的文件在git状态下也不可见。如果要检查被忽略的文件,应使用git status--ignored
。