問題タブ [libgit2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
418 参照

libgit2 - libgit2 のスタッシュ ポップ

git_stash_save()と同様に、変更を保存できますgit stash。変更を元に戻す機能はありgit stash popますか?

git_stash_foreach()とが見えますgit_stash_drop()。この機能を実現するためにそれらを使用する方法はありますか?


編集: nulltokenの回答に基づいて、次のコードが機能すると予想していました:

エラーは報告されていませんが、変更は復元されていません。git_stash_save()動作し(メッセージは で表示されますgit stash list)、git_stash_drop()動作します。ただし、git_checkout_tree()効果はありません。

また、解放する必要がtop_treeありtop_cmtますか?

0 投票する
1 に答える
3096 参照

c++ - libgit2 を使用して git リポジトリにコミットする方法は?

libgit2 ディスク上のファイルを使用せずにコミットを作成するためのコピー アンド ペーストの例がないので、追加する必要があると思いました。

libgit2 は現時点 (2013 年 3 月) で完全に開発中であることを忘れないでください。新しい機能が毎日追加されているため、公式ドキュメントとソース コードを参照してください。

0 投票する
2 に答える
948 参照

c++ - libgit2 を使用して git リポジトリからファイルを削除する

git リポジトリにファイルがあるとします。

  • a.txt

そのファイルを削除するコミットを作成するには、どの API を使用する必要がありますか? たとえば、この質問では、ファイルはディスク上に作成せずにコミットされます。インデックス (ステージ領域) を使用せずにそのファイルを削除することは可能ですか?

おそらくツリービルダー用の を作成するなど、同様のフローを期待していましたgit_tree_entryが、そうではないようです。git_reference_list()ファイルをリストしないため、行き止まりがあります。また、削除と削除のソースを検索しても成功しませんでした。

0 投票する
1 に答える
1474 参照

c++ - libgit2を使用してgitリポジトリでHEADから最後のコミットを取得する方法は?

libgit2で最後のコミットを取得するためのコピー アンド ペーストの例がないため、追加する必要があると考えました。libgit2 の例では、git_oid_fromstr()...

libgit2 は現時点 (2013 年 3 月) で完全に開発中であることを忘れないでください。新しい機能が毎日追加されているため、公式ドキュメントとソース コードを参照してください。

0 投票する
1 に答える
1274 参照

branch - libgit2 でブランチを作成する方法

libgit2 ライブラリを使用してブランチを作成するにはどうすればよいですか? API にはコミット ターゲットへの参照がありますが、このパラメーターには何を使用すればよいですか?

これは、テストのサンプル コードに基づいて、これまでに取得したコードですが、多くのハード コードされた参照を使用しているため、実際のシナリオで何を使用する必要があるかを発見するのは困難です。実例。

0 投票する
1 に答える
526 参照

indexing - トラッキング ファイルとステージング ファイルのコーディングの違い

libgit2 API では、追跡用にファイルを「追加」することと、変更されたファイルをステージング領域に追加することの間に違いはありますか?

これは、変更された追跡ファイルをステージングするために現在使用しているコードです。

同じコードを使用して、追跡されていないファイルをインデックスに追加する必要がありますか?

0 投票する
1 に答える
643 参照

macos - libgit2 を OSX アプリケーションバンドルにコンパイルするにはどうすればよいですか?

Windows の .DLL ファイルに対する OSX の回答は「バンドル」です。つまり、私は読んでいますが、libgit2 を使用可能なものにビルドする方法がよくわかりません。

私は通常 Windows で作業しており、Unity3D内で使用される一連のプラグインを開発しています。これまでのプラグインは、Windows .DLL ファイルの形式をとっています。ただし、Mac 上の Unity3D で作業する開発者はプラグインを使用できません。これは、 libgit2 の git2.dllとしてビルドされたネイティブ コードに依存しているためです。

Building Plugins for Desktop Platformsに関する Unity3D のドキュメントによると、どうにかしてネイティブをビルドする必要がありbundleます。説明では、XCode を使用してバンドル プロジェクトをセットアップするタスクを実行するように指示されていますが、ビルド方法に関しては迷っているようです。

libgit2 プロジェクト ページのドキュメントによると、このCMake GUIユーティリティを使用して、

[...]プラットフォーム固有のビルド プロジェクトまたは IDE ワークスペースを生成する

ただし、生成されるXCodeプロジェクトはbundle project、少なくとも私の目的では「ジャンクファイル」を構築する他のタイプのプロジェクトではないようです。

Unity3D が説明するように、バンドルの期待される形式は何ですか?

XCode バンドル プロジェクトをビルドし、プロジェクトの libgit2 リポジトリから必要なファイルをどこかにドロップし、前の質問で要求された形式を取得するためにビルドを押すだけで、「Mix-n-Match」を実行するにはどうすればよいですか? ?

0 投票する
1 に答える
121 参照

c - libgit2 を使用したタグの作成とコミット

私は、Git がどのように機能するかをよりよく理解するために、libgit2 をあちこちで少し使用してきました。そのために、私は学習課題として小さなミニ クライアントを実装してきましたが、かなりうまくいっています。

ただし、関数を使用して作成したタグをコミットする方法がわかりませんgit_tag_create。インデックスに追加する必要があると思いますが、その方法もわかりません。誰かが私を正しい方向に向けることができますか?