【问题标题】:How do I create a remote git repository on my github account with python or push a local git repo to my github account using python? [duplicate]如何使用 python 在我的 github 帐户上创建远程 git 存储库或使用 python 将本地 git 存储库推送到我的 github 帐户? [复制]
【发布时间】:2019-07-02 02:39:28
【问题描述】:

我是 python 新手。我要做的是在我的 GitHub 帐户上创建一个远程 git 存储库,然后能够在本地克隆它。我想在 python 程序中完成所有这些。如果创建本地 git 存储库然后将其推送到我的 GitHub 帐户更容易,那也可以。我现在能做的就是创建一个本地 git repo,并且只需要 2 行代码。

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

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

【问题讨论】:

标签: python git github github-api pygithub


【解决方案1】:

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

然后,要创建远程存储库,您必须向 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)

我实际上并没有运行这段代码,但我认为它应该让你非常接近,祝你好运!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-07
    • 2017-12-03
    • 2021-04-06
    • 2021-01-30
    • 2019-01-12
    • 2016-05-10
    • 2016-02-24
    相关资源
    最近更新 更多