使用Python的Github将本地仓库推送到远程仓库。

9 浏览
0 Comments

使用Python的Github将本地仓库推送到远程仓库。

代码应按以下顺序执行以下操作:\n

    \n

  1. 应将公共Github存储库下载/克隆到本地。
  2. \n

  3. 删除所有git历史记录(和分支)
  4. \n

  5. 使用Github API创建一个新的Github存储库,使用从本地下载的github存储库内容进行初始化。新存储库的名称应使用提供的名称。
  6. \n

\n我能够完成1和3,但需要登录2次。我无法使用本地存储库初始化新的远程存储库。\nlocal_repo = repo1 怎么做?\n删除git历史记录?在克隆的存储库中如何找到git历史记录。\n

import git,os,tempfile,os,fnmatch,sys
from github import Github
username = sys.argv[1]
password = sys.argv[2]
input_repo_url = sys.argv[3]
output_repo_name = sys.argv[4]
tempdir=tempfile.mkdtemp(prefix="",suffix="")
predictable_filename = "myfile"
saved_umask = os.umask(77)
path = os.path.join(tempdir,predictable_filename)
print("正在克隆存储库至 "+path)
local_repo = git.Repo.clone_from(input_repo_url,path, branch="master")
print("克隆成功!")
g = Github(username,password)
user = g.get_user()
repo1 = user.create_repo(output_repo_name)
print("新存储库已在 "+username+" 帐户中创建")
print(repo1)
target_url = "https://github.com/"+username+"/"+output_repo_name+".git"
print(target_url)
print("正在将克隆的存储库推送至目标存储库")
local_repo.create_remote("new",url=target_url)
local_repo.git.push("new")
print("成功!!")

0