【发布时间】:2020-10-26 21:51:42
【问题描述】:
任务是
- 克隆公共存储库并将其存储在本地
- 使用您在本地下载的存储库内容初始化用户的新存储库(目标)。
CLI 命令完美运行,但我需要使用 python 来完成,当我运行此代码时,会打开一个 github 登录对话框,我输入凭据,然后推送工作,但什么都没有在远程仓库上看到的,我们可以什么都不推送吗?
我也尝试过使用 subprocess 模块,它不起作用。我检查了所有其他 stackoverflow 解决方案,但没有找到可行的解决方案。我需要一个新的解决方案或尽快对此进行更正。谢谢。
import git
git.Repo.clone_from('https://github.com/kristej/Uniform-Database-Management.git','Uniforms')
repo = git.Repo('Uniforms')
target_repo = "https://github.com/kristej/Jojorabit.git"
# List remotes
# Reference a remote by its name as part of the object
print(f'Remote name: {repo.remotes.origin.name}')
print(f'Remote URL: {repo.remotes.origin.url}')
# Delete a default remote if already present
if repo.remotes.origin.url != target_repo:
repo.delete_remote(repo.remotes.origin.name)
# Create a new remote
try:
remote = repo.create_remote('origin', url=target_repo)
except git.exc.GitCommandError as error:
print(f'Error creating remote: {error}')
# Reference a remote by its name as part of the object
print(f'Remote name: {repo.remotes.origin.name}')
print(f'Remote URL: {repo.remotes.origin.url}')
#Push changes
print(repo.git.push("origin", "HEAD:refs/for/master"))
【问题讨论】: