如何使用python从本地克隆存储库中获取github组织和存储库名称?

显然,github3模块确实需要您为它提供github组织和存储库名称,因为无法根据您当前的存储库猜测它们。

我还检查了 https://pypi.org/project/GitPython/ 但我无法识别正确的调用,以便识别组织名称和存储库名称。

我确实怀疑我需要以某种方式调查遥控器,但文档有点让我失望。


慕斯709654
浏览 162回答 2
2回答

FFIVE

您始终可以使用内置功能来调用 git 命令。请参阅此问题:如何在某个 Git 存储库中获取 Git 存储库的名称?subprocessimport subprocessimport basenameimport osoutput = subprocess.check_output(['git', 'rev-parse', '--show-toplevel'])repo = os.path.basename(output)显然,你可以在pygithub中做到这一点。Python - 如何检查路径是否在git存储库下?并提取存储库名称。该答案中的代码示例(将打印更改为python3):import git # Raises InvalidGitRepositoryError when not in a repo repo = git.Repo(".", search_parent_directories=True) print("Location "+ repo.working_tree_dir) print("Remote: " + repo.remote("origin").url)您可以查看它们的源代码,并查看它们正在运行的命令。

弑天下

您也可以简单地从远程配置中获取存储库URL,如果您不想使用外部库,它只是一些简单的文件读取和解析。阅读文件,您将在其中找到格式的配置子标题。一旦您获得了存储库的正确网址并检查了源是否属于github,您就可以使用Github公共REST API来获取组织。API 文档:https://developer.github.com/v3/repos/#get。如果存储库属于某个组织,则 API json 响应也将具有一个包含组织完整详细信息的密钥。.git/configurl[remote <remote name>]organization
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python