8

リモートブランチからローカルリポジトリに変更をマージしようとしていますが、これを正しく機能させることができませんでした。実装の誤解の可能性があります。サーバー上の更新を確認できるため、フェッチは正常に機能しているように見えますが、プルしようとすると何かが壊れていると思います。

私はもう試した:

repo.Checkout( branch.TrackedBranch, CheckoutOptions.None, OnCheckoutProgress );

これは、クローン呼び出しに期待することを実行しているようです。マージする方法も見つかりません。私が読んだgit pullように、フェッチを呼び出してからマージを呼び出すのと同じです。

MergeFixtureなど、リポジトリ内のいくつかのテストを確認しましたが、期待していたものではなかったようです。

4

2 に答える 2

12

2014年4月現在の更新

の便利なメソッドがPullLibGit2Sharpに追加されました。

repo.Network.Pull(signature, pullOptions);

テストフィクスチャでより基本的な使用法を見つけることができます。

于 2014-10-22T21:39:59.657 に答える
7

Pull確かにとの組み合わせFetchですMerge

  • Fetch準備ができています
  • Merge進行中です(@EdwardThomsonによる)

MergeFixtureなど、リポジトリ内のいくつかのテストを確認しましたが、期待していたものではなかったようです。

完全なマージプロセスはまだ利用できないため、まだ多くのテストはありません。ただし、マージのいくつかのMergeFixture.cs側面が含まれます

  • 競合/マージされていないエントリの検出
  • マージされるブランチの取得

他にも関連するビットがありCommitFixture.csます

  • コミット時の潜在的なマージメタデータのクリーンアップ
  • マージコミットを発行するときに親を自動的に含める

Libgit2には、ユーザーによって解決された競合に対処するための下位レベルのビットもいくつか含まれています。

アップデート

マージ機能がLibGit2Sharpで利用できるようになりました(プルリクエスト#608を参照)

于 2013-02-07T09:50:33.990 に答える