我希望我的.gitignore_global是几个*.gitignore文件的头节点。为了实现这一点,我希望.gitignore_global通过导入带有路径的*.gitignore文件来将多个*.gitignore文件的内容附加到它自己。
例如,如果git理解source命令,则.gitignore_global可能如下所示:
# platform-specific .gitignore files
source ~/.gitignore/gitignore.git/Global/Linux.gitignore
source ~/.gitignore/gitignore.git/Global/OSX.gitignore
source ~/.gitignore/gitignore.git/Global/Windows.gitignore
# language-specific .gitignore files
source ~/.gitignore/gitignore.git/C++.gitignore
source ~/.gitignore/gitignore.git/Java.gitignore
# above .gitignore files are cloned from the following Github page:
# https://github.com/github/gitignore.git遗憾的是,git无法识别source命令。有什么建议吗?
发布于 2013-06-01 11:37:47
命令外壳并不是一个真正的命令,而是内置的source。它旨在处理原始shell进程中的shell脚本(不执行新进程)。
除了实际的外壳脚本之外,命令source不能提供任何资源。因此,您尝试获取.gitignore*文件的尝试是行不通的,任何想象力都不行。
.gitignore机制非常简单,你可以简单地连接所有的gitignore文件,这应该是可行的。然而,这并不是真正可取的做法。正确的解决方案是根据需要使用gitignore。
您可以在http://github.com/github/gitignore上找到常见gitgnore规则的非常好的源代码
发布于 2015-12-04 05:15:11
正如@mvp提到的,更多的规则可能会减慢处理速度。尽管fstat通常比忽略规则在具有大量文件的repos上的开销要大得多。尤其值得注意的是,如果您在PS1命令提示符中使用__git_ps1,那么- git命令开始变得迟钝。
同时,每次动态导入单独的.gitignore_XXX文件通常是不必要的开销。但是,一旦设置完成,gitignore文件往往不会频繁更改。因此,收益主要是出于组织目的(这很好,是真的,但我们可能没有它的便利)。
考虑让gitignore_global保持相当的轻量级,并使用本地/项目级别的.gitingore来处理更重、更详细的忽略模式。
提醒:当遇到“为什么忽略该文件”的情况时,git check-ignore -v SomeFileOrPath非常有用。
此外,当我开始一个新项目/ git repo时,我发现以下站点对于快速生成混合gitignore文件很有用:
https://www.gitignore.io示例: Xcode + c++ + gradle + java + ruby + libreoffice + osx + svn + vim
它甚至将它们按字母顺序排列:)
https://stackoverflow.com/questions/16868766
复制相似问题