是否可以仅使用github api v3从本地系统提交并推入远程repo?

2024-06-01 21:56:05 发布

您现在位置:Python中文网/ 问答频道 /正文

好的,这似乎是一个愚蠢的问题,我没有很多使用git的经验,因为我的工作一直依赖GitHub桌面。所以我的问题是,github远程repo是否只能通过GithubAPI提交和推送到。不在系统上安装git就可以完成吗?我使用过PyGitHub和git python,甚至python子流程,它们可以用来创建远程repo,初始化并添加到本地repo,执行提交并推送到远程repo,我知道这些服务需要使用系统上安装的git客户端

所以我只是想知道,是否只有独立的github api可以通过python请求调用,以实现同样的功能,但要求是我不必在本地系统中安装Git。这件事上的任何帮助都会很有启发性


Tags: git功能githubapi客户端远程系统repo
2条回答

Can a github remote repo be committed to and pushed to via only the github api. Can it be done without installing git on your system?

有点:您可以通过API与原始对象进行交互,我不确定您是否可以像在您的机器上一样使用git,并像在本地安装git那样从本地工作副本推/拉

我的经验是,它需要对Git的底层基础知识(blob、trees、commits、refs及其关系)有一些了解:v3api公开了一个git data / git database端点,它提供了对底层Git结构的透明访问。有一些限制(例如,无法通过此功能与全新的空存储库交互,您必须至少有一个提交,像“cherrypick”或“rebase”这样的高级操作不可用,并且如果需要,必须手动滚动,…),但除此之外,它工作正常

为了理解底层对象,我推荐Git书籍的“Git内部”一章,第10.2 Git Objects10.3 Git References节。还有一些“从头开始”的教程,通过从头开始构建部分git客户端,以更实际的方式解释这些结构

So I was just wondering if only the standalone github api can be called through python requests to do the same but the requirement being that I don't have to get Git installed in my local system.

如上所述:您可以通过API以各种可能的方式与github存储库进行交互,但是用API重建git客户机可能很困难

PyGithub将使您能够处理我们在Github.com中拥有的任何内容。管理您的本地git。例如,提交、推送或隐藏。您可能需要使用一些处理Git的python模块,而不是Github。其中一个例子可能是 https://github.com/gitpython-developers/GitPython

相关问题 更多 >