次の問題があります。フォルダーでリポジトリを検索し、ネット上のリモートを検索して、すべての新しいデータをリポジトリに取り込み、新しい変更について通知するスクリプトを作成しています。主なアイデアは明確です。Windows 7 x64でpython 2.7を使用しており、pygit2を使用してgit機能にアクセスしています。コマンドラインは単純なコマンド「git pull 'origin'」をサポートしていますが、git api はより複雑で、方法がわかりません。さて、私はここまで来ました:
import pygit2
orepository=pygit2.Repository("path/to/repository/.git")
oremote=repo.remotes[0]
result=oremote.fetch()
このコードは、新しいオブジェクトを取得してリポジトリにダウンロードしますが、マスター ブランチを更新したり、新しいデータをチェックアウトしたりしません。TortoiseGit でリポジトリを調べると、ログを表示するときに新しいログ メッセージが表示されなくても、何もチェックアウトされていないことがわかります。git pull コマンドを使用して、リポジトリと作業コピーをまったく更新する必要があります。今、私の質問: pygit2 を使用してすべてを行うには、何をする必要がありますか? つまり、変更をフェッチしてダウンロードしますが、その場合はどうすればよいでしょうか? マスター ブランチと作業コピーも更新したいのですが、問題を解決していただきありがとうございます。よろしくお願いします。
1945 次