2017-01-02 6 views
2

Ich habe eine Reihe von Projekten von einem Repository zu klonen und schieben Sie es dann zu einem Remote-Repository automatisch. Daher bin ich mit Python und das spezifische Modul GitPython. Bis jetzt kann ich das Projekt mit gitpython wie diese klonen:Wie mit GitPython auf Remote-Repo schieben

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

Wie kann ich GitPython das geklonte Repo zu einem Remote-Repo schieben?

Antwort

2

es ist alles in 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)) 

siehe auch push reference API. Sie können die Refspec-Einstellung vermeiden, wenn Sie einen Tracking-Zweig für die Remote festlegen, an die Sie Push senden möchten.

1

Es sollte so dass ein Tracking-Zweig war bereits Setup bereitgestellt

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

arbeiten.

Andernfalls würden Sie eine Refspec gesetzt:

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

Diese Lösung schiebt es auf den Ursprung, aber ich wollte es auf eine neue Fernbedienung drücken. – Oni1

Verwandte Themen