問題タブ [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.
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
ますか?
c++ - libgit2 を使用して git リポジトリにコミットする方法は?
libgit2 でディスク上のファイルを使用せずにコミットを作成するためのコピー アンド ペーストの例がないので、追加する必要があると思いました。
libgit2 は現時点 (2013 年 3 月) で完全に開発中であることを忘れないでください。新しい機能が毎日追加されているため、公式ドキュメントとソース コードを参照してください。
- libgit2 API
- ヘッダーは非常によくコメントされています -ここに例があります
- 広範なテストはインスピレーションの源かもしれません
- いくつかの公式の例があります。general.cは開始するのに適した場所です。
- インスピレーションはLibGit2Sharpにあるかもしれません- ここにいくつかのテストがあります
c++ - libgit2 を使用して git リポジトリからファイルを削除する
git リポジトリにファイルがあるとします。
- a.txt
そのファイルを削除するコミットを作成するには、どの API を使用する必要がありますか? たとえば、この質問では、ファイルはディスク上に作成せずにコミットされます。インデックス (ステージ領域) を使用せずにそのファイルを削除することは可能ですか?
おそらくツリービルダー用の を作成するなど、同様のフローを期待していましたgit_tree_entry
が、そうではないようです。git_reference_list()
ファイルをリストしないため、行き止まりがあります。また、削除と削除のソースを検索しても成功しませんでした。
c++ - libgit2を使用してgitリポジトリでHEADから最後のコミットを取得する方法は?
libgit2で最後のコミットを取得するためのコピー アンド ペーストの例がないため、追加する必要があると考えました。libgit2 の例では、git_oid_fromstr()
...
libgit2 は現時点 (2013 年 3 月) で完全に開発中であることを忘れないでください。新しい機能が毎日追加されているため、公式ドキュメントとソース コードを参照してください。
- liggit2 API
- ヘッダーは非常によくコメントされています -ここに例があります
- 広範なテストはインスピレーションの源かもしれません
- いくつかの公式の例があります。general.cは開始するのに適した場所です。
- インスピレーションはLibGit2Sharpにあるかもしれません- ここにいくつかのテストがあります
branch - libgit2 でブランチを作成する方法
libgit2 ライブラリを使用してブランチを作成するにはどうすればよいですか? API にはコミット ターゲットへの参照がありますが、このパラメーターには何を使用すればよいですか?
これは、テストのサンプル コードに基づいて、これまでに取得したコードですが、多くのハード コードされた参照を使用しているため、実際のシナリオで何を使用する必要があるかを発見するのは困難です。実例。
indexing - トラッキング ファイルとステージング ファイルのコーディングの違い
libgit2 API では、追跡用にファイルを「追加」することと、変更されたファイルをステージング領域に追加することの間に違いはありますか?
これは、変更された追跡ファイルをステージングするために現在使用しているコードです。
同じコードを使用して、追跡されていないファイルをインデックスに追加する必要がありますか?
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」を実行するにはどうすればよいですか? ?
c - libgit2 を使用したタグの作成とコミット
私は、Git がどのように機能するかをよりよく理解するために、libgit2 をあちこちで少し使用してきました。そのために、私は学習課題として小さなミニ クライアントを実装してきましたが、かなりうまくいっています。
ただし、関数を使用して作成したタグをコミットする方法がわかりませんgit_tag_create
。インデックスに追加する必要があると思いますが、その方法もわかりません。誰かが私を正しい方向に向けることができますか?