git配置风格配置系统

git配置风格配置系统,git,configuration,Git,Configuration,git config使用什么系统来管理配置?它是作为独立库/工具公开提供的吗?还是它与git紧密地交织在一起 我想在我的项目中有类似的东西 是否有提供类似功能的库可供我使用?还是我应该编写自己的工具/库?代码是自定义的。(参见内置的config.c,config.c) 有关重用的详细信息,请参阅许可证() 它不是一个通用库,也不是一个通用工具(尽管如果您总是通过--file,并且对它执行小节的方式感到满意,那么您可以将其作为一个通用工具使用),因此需要做一些工作来调整代码。此外:CPAN上有Pe

git config
使用什么系统来管理配置?它是作为独立库/工具公开提供的吗?还是它与git紧密地交织在一起

我想在我的项目中有类似的东西

是否有提供类似功能的库可供我使用?还是我应该编写自己的工具/库?

代码是自定义的。(参见内置的config.c,config.c)

有关重用的详细信息,请参阅许可证()

它不是一个通用库,也不是一个通用工具(尽管如果您总是通过
--file
,并且对它执行小节的方式感到满意,那么您可以将其作为一个通用工具使用),因此需要做一些工作来调整代码。

此外:CPAN上有Perl模块。

它不是Git项目的一部分,对于Python,有一个模块,它使用类似的文件格式。

对于Java,这里有一个非常小的库:

对于Python,由于Git配置文件中的前导空格,似乎无法直接使用ConfigParser。但它可以这样使用


实际上,您不能直接使用ConfigParser,因为出于某种原因,Linus决定将选项卡置于该格式中。参见郭从斌的回答。节标题中的其他数据无法通过
ConfigParser
获得,例如
.gitmodules
文件中的
[submodule“my/submodule/name”]
from ConfigParser import ConfigParser
from StringIO import StringIO

with open('.gitconfig') as f:
    c = f.readlines()
cp = ConfigParser()
cp.readfp(StringIO(''.join([l.lstrip() for l in c])))