如何使用gitPython模拟读取和更新git全局配置文件?

时间:2014-02-26 17:36:45

标签: python git git-config gitpython

我想使用git config --list读取git全局配置文件,所以我可以用来读取和更新全局配置文件吗?

3 个答案:

答案 0 :(得分:1)

gitconfig可能正是您所需要的。

答案 1 :(得分:1)

这将为您提供〜/ .gitconfig类型config:

 globalconfig = git.GitConfigParser([os.path.normpath(os.path.expanduser("~/.gitconfig"))], read_only=True)

这或多或少是gitpython本身所做的,除了它还使用" system"和" repo"级别配置(系统是" / etc / gitconfig"),见

 def _get_config_path(self, config_level):

def config_reader(self, config_level=None):

在gitpython源代码中的git / base.py

答案 2 :(得分:0)

自@unhammer在2014年发布答案以来,GitPython一直在发展。这是一个如何使用Python 3和GitPython v3.1.11读取全局用户名的示例:

def git_user_name() -> str:
    from git import Repo
    reader = Repo(path=None).config_reader()
    field = reader.get_value("user", "name")
    return field

这可在任何目录下使用,不需要本地存储库。