問題タブ [libgit2sharp]
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.
windows - libgit2、libgit2sharp、Ngit を使用して msysgit を Windows に置き換えている団体はありますか?
こんにちは、私は Git が好きですが、gitextensions tortoisegit は tortoisehg や tortoisesvn (DVCS ではない) と比較してすぐに使用するには醜いため、人々や友人と Windows プロジェクトを共有するのは楽しくないようです。msysgit を bash シェルだけで使用しても、Linux/Mac ほど使いやすくはありません。
それで、新しい候補はありますか(アルファプロジェクトなど(他のライブラリでも))?
これらの新しい Git ライブラリが離陸するのを楽しみにしています!
git - LibGit2Sharp の Stash に関する詳細を取得するには?
stash のリストとその名前 (およびおそらく他の情報) を取得し、どのファイルが変更され、差分が表示されるかを確認する方法はありますか?
私はLibGit2Sharpを使用しています
c# - LibGit2Sharpを使用してGitリポジトリ内のすべてのコミットをループしますか?
ループしてみnew LibGit2Sharp.Repository(path).Commits
ましたが、マスターのコミットのみを通過しているようです(または、HEADが指している場所を推測しますか?)。
リポジトリ内のブランチに関係なく、リポジトリ内のすべてのコミットをループし、コミットが発生した日時(日付)の順にループする方法を教えてください。
私はこれをgit log
、ブランチに関係なくコミットを日付順にリストするなどの目的で行っています。
参照されていないコミットもループできる場合(つまりgit reset
、一部のコミットから離れて、コミットが参照されなくなり、gcされようとしている場合)のボーナスポイント。
考え?
git - 特定の親を持つすべてのコミットを見つける方法は?
特定の親を持つリポジトリ内のすべてのコミットを見つけるにはどうすればよいですか?
たとえば、コミットがある場合A
、親を共有する他のすべてのコミットを見つけたいと思いますA
。LibGit2Sharpでこれを行う最も効果的な、つまりパフォーマンスが高く正しい方法は何ですか?
c# - LibGit2Sharpでクエリされるコミットの数を制限しますか?
私はループをしています:
正常に動作しますが、結果の数を制限する方法はありますか?たとえば、最新の100個のコミットを取得し、古いコミットは忘れたいと思います。
git - LibGit2Sharpで`gitrm--cached`と`gitrm -f`を実現するにはどうすればよいですか?
1)を使用してみrepo.Index.Remove(item.Filename);
ましたが、次のようになります。
追加情報:ファイル'file.txt'を削除できません。現在のステータスは「変更済み」です。
私はそれを行う方法を見つける必要がありますgit rm file.txt -f
(つまり、強制的に削除します)。
git rm file.txt --cached
2)ファイルがリポジトリからのみ削除される(削除のためにステージングされる)が、ファイルシステムに保持されるようにする方法が必要です。LibGit2Sharpでこれを行う方法はありますか?
repo.Index.Remove()
3)指定されたパスがリポジトリの一部になったことがない場合(つまり、ファイルが追跡されていない場合)に呼び出しても大丈夫ですか?
c# - Git オブジェクト データベースにコミットする利点は何ですか?
このlibgit2sharp の問題のコメント間の議論で、オブジェクト データベースに対してコミットを作成できることが強調されました。
オブジェクト データベースへのコミットとは何ですか?
通常の git add と git commit よりも有利なのはなぜですか?
別のソース管理システム SourceGear からコミット履歴を Git にインポートしようとしています。現時点では、私のロジックは単純に他のソース管理システムのファイルをループし、特定のバージョンとそのコミット情報を取得して、repo.Index.Stage
and を実行しrepo.Commit
ます。それは正しいと思いますが、オブジェクト データベースを使用する必要がありますか?
c# - 参照のクエリ中にスタッシュを除外する方法は?
私はコミットを照会しようとしています:
それ以外は問題ありませんが、スタッシュも返します。スタッシュを除外するにはどうすればよいですか? 結果をループしているときに、それらを無視できることはわかっていますが、そうすると、必要な100個の結果が得られません。
c# - コミットを元に戻すには?
LibGit2Sharp のすべてのオブジェクトを調べてみましたが、特定のコミットを元に戻す方法を見つけることができませんでした。LibGit2Sharp でコミットを元に戻すことは可能ですか、それともまだ元に戻されていますか?
repo.Revert(commit.Sha)
私は、またはおそらくのようなものを期待していたでしょうcommit.Revert()
。
変更の差分を取得し、手動でブロブを作成してコミットすることで、これを達成することはおそらく可能でしょうか?
c# - ディスク上のファイルとヘッド上の対応するバージョンを比較しますか?
ディスク上のファイルと HEAD 上の対応するバージョンとの差分を取得するにはどうすればよいですか?
私はもう試した:
DiffTarget.Index
インデックスとヘッドのツリー間の変更のみを比較します。これは問題ありませんが、作業コピーとツリーの間の変更を取得する方法も必要です。これは可能ですか?
また、インデックス全体ではなく、特定のファイルのみに差分を制限するにはどうすればよいでしょうか?