我是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仅三天了。
答案 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)
我实际上没有运行这段代码,但是我认为它应该使您更加接近,祝您好运!