2017-01-02 17 views
2

1つのリポジトリから一連のプロジェクトをクローンし、それをリモートリポジトリに自動的にプッシュする必要があります。したがって、私はPythonと特定のモジュールGitPythonを使用しています。今まで、私はこのようなgitpythonでプロジェクトのクローンを作成することができますGitPythonでリモートリポジトリにプッシュする方法

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

は、どのように私は、リモートリポジトリにクローンレポをプッシュするGitPythonを使用することができますか?

答えて

2

それは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の設定を避けることができます。

1

それは

このような
r = Repo.clone_from(cloneUrl, localRepoPath) 
r.remotes.origin.push() 

を動作するはずですが、追跡ブランチがすでに設定したことを条件とします。

そうしないと、refspec設定します:

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

このソリューションは、それが原点にプッシュし、しかし、私は新しいリモートにそれをプッシュしたかったです。 – Oni1

関連する問題