如何使用python在我的github帐户上创建远程git存储库或如何使用python将本地git存储库推送到我的github帐户?

时间:2019-07-01 17:46:16

标签: python git github github-api pygithub

我是python的新手。我想做的是在我的GitHub帐户上创建一个远程git存储库,然后能够在本地克隆它。我想在python程序中做所有这一切。如果创建本地git repo并将其推送到我的GitHub帐户更容易,那也很好。我现在所能做的就是创建一个本地git repo,只用了两行代码。

import git
import os
repo_dir = os.path.join("testrepo")
r = git.Repo.init(repo_dir)

我现在需要做的就是将此本地存储库推送到我的GitHub帐户中,以拥有一个远程帐户。正如我所说,如果其他方法更好/更容易,那么效果也很好。我读了很多关于所提供的不同API(Pygithub,Github)的信息,但是文档让我头疼。我很难理解这些方法返回什么以及如何使用它们。目标是能够自动执行创建项目并将其使用python脚本推送至GitHub的过程,然后再从命令行运行该脚本。另外,这是我第一次在StackOverflow上发帖,所以如果我没有遵守任何约定,我深表歉意。再次感谢您提供清晰的解释,因为距我开始使用python仅三天了。

1 个答案:

答案 0 :(得分:0)

我建议创建一个远程存储库,然后将其克隆到本地计算机上。

然后,要创建远程存储库,您将必须向GitHub API发出API请求,但是首先,您需要来自GitHub的访问令牌。您可以从他们的网络用户界面中选择其中之一。

然后,我们将使用Requests: HTTP for Humans向GitHub API发出POST请求:

import subprocess
import requests
import sys

# Notice that you username and token are required here
r = requests.post(
  "https://api.github.com/users/<username>/repos?access_token=<generated token>", 
  data={
  "name": "Hello-World",
  "description": "This is your first repository",
  "homepage": "https://github.com",
  "private": false,
  "has_issues": true,
  "has_projects": true,
  "has_wiki": true
})

if r.status_code != 200:
  sys.exit()

现在已经创建了远程存储库,您可以将其克隆到您的计算机上

clone_url = r.text.clone_url
subprocess.check_output(['git', 'clone', clone_url], cwd=repo_dir)

我实际上没有运行这段代码,但是我认为它应该使您更加接近,祝您好运!