Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在gitignore中使用条件_Git_Gitignore - Fatal编程技术网

如何在gitignore中使用条件

如何在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的提示存在,提

我正在用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