4

gitリポジトリを初期化し、ブランチの最新バージョンをそこにフェッチする必要があります。bashでは、コマンドは次のとおりです。

git init
git remote add -t $BRANCH -f origin $REMOTE

libgit2で同じことをプログラムで実行しようとしていますが、2行目に相当するものを見つけるのに問題があります。リモートを作成するための呼び出しは明らかですが、リポジトリに追加したり、ブランチを処理したりするための呼び出しは見当たりません。

libgit2でこれを行うことは可能ですか?そうでない場合、これを実行できるライブラリはありますか?

4

1 に答える 1

7

libgit2でフェッチプロセスを実装する方法を説明する高レベルの手順は、ここにあります。

このようなタスクを実行するコードの例は、ここここにあります。これらの例は、APIが進むにつれて、少し同期がとれる可能性があることに注意してください。

これらのコードは、アップストリームで定義されたリモートからすべての新しいコミット(ブランチは特定のコミットへのポインターにすぎません)を取得することに注意してください。

現在のところ、libgit2でチェックアウトを実行する方法はまだありません。

さらにサポートが必要な場合は、次の2つの場所をお勧めします。

アップデート

クローン機能は、libgit2リポジトリにマージされました。

プルリクエストの一部として、作成者はユーザーにチェックアウトの実装も提供するように注意しました。

于 2011-12-18T17:55:26.263 に答える