如何使用 GitPython 推送到远程仓库

How to push to remote repo with GitPython

我必须从一个存储库克隆一组项目,然后自动将其推送到远程存储库。因此我使用 python 和特定模块 GitPython。到目前为止,我可以像这样使用 gitpython 克隆项目:

def main():
  Repo.clone_from(cloneUrl, localRepoPath)
  # Missing: Push the cloned repo to a remote repo.

如何使用 GitPython 将克隆的仓库推送到远程仓库?

都在the documentation:

repo = Repo.clone_from(cloneUrl, localRepopath)
remote = repo.create_remote(remote_name, url=another_url)
remote.push(refspec='{}:{}'.format(local_branch, remote_branch))

另见 push reference API。如果为要推送到的远程设置跟踪分支,则可以避免 refspec 设置。

它应该像这样工作

r = Repo.clone_from(cloneUrl, localRepoPath)
r.remotes.origin.push()

前提是已经设置了跟踪分支。

否则你会设置一个 refspec:

r.remotes.origin.push(refspec='master:master')