問題タブ [jgit]
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.
git - Egitフックがトリガーされない
意図的に100%失敗するpre-commitフックを備えたgitリポジトリがあります。
コマンドラインからコミットしようとすると、期待どおりに失敗します。ただし、egitからコミットすると、フックは無視され、変更がコミットされます。
egit / jgitはまだフックを認識していませんか?これに対する回避策はありますか?
前もって感謝します!
java - jgitリポジトリブラウザ
jgitでgitリポジトリブラウザを作成したいのですが。しかし、ファイルの最終変更日と最終コミットメッセージを取得する方法がわかりません。ブラウザの現在のコードは次のとおりです。
ファイルの最後のコミットを取得することは可能ですか?
注:私のgitリポジトリは、作業コピーのないベアリポジトリです。
java - GitサーバーをJavaサーブレットまたはJavaWebアプリケーションとして作成またはパッケージ化する方法は?
Gitは明らかに素晴らしく、さまざまなクライアントが利用可能であり、すべてのプラットフォームに簡単にインストールできます。
ただし、Gitサーバーをチームで稼働させるのは少し難しいです。
簡単にデプロイできるJava-Gitアプリサーバーやウェブアプリがまだないことに少し驚いています。Gitosis、Gitoliteなどは他のスタックで実行されているオプションのようですが、すでにJavaスタックを実行している場合は、JavaサーブレットまたはWebアプリケーションをデプロイするのが最も簡単です。
これらの線に沿って、Javaの「Gitサーバー」Webアプリを作成する方法を考えていました。
JGitは、単純な実装をどこまで実現できるでしょうか。JGitをWebアプリとしてパッケージ化して、JGitにプッシュ/プルしたり、新しいリポジトリを簡単に作成したりできるようにするには、何をする必要がありますか?
branch - ngit(またはjgit)を使用して既存のリポジトリの追跡をリモートリポジトリに設定するにはどうすればよいですか?
私は次のようなGUIベースのヘルパーユーティリティに取り組んでいます。
- ローカルリポジトリを初期化し、リモートリポジトリを初期化(ベア)します
- プロジェクトタイプに基づいて.gitignoreを追加します
- すべてのファイルをローカルでコミットする
- ローカル構成にリモートリポジトリを追加します
- マスターをリモートリポジトリにプッシュします
- 開発ブランチを作成し、マスターにプッシュします
これはすべて、ngit(jgitの.NETポート)を使用してgitをインストールせずに実行されます。
しかし、 ngitだけを使用して、マスターからオリジン/マスターに追跡し、オリジン/開発に開発するように追跡を設定する方法を理解できません。
で簡単にできます
ただし、ローカルのgitインストールの依存関係を回避したいと思っていました。
maven - Maven で JGit を使用する方法
私はGITを初めて使用し、JGitを使用してリポジトリを作成し、Java Mavenプロジェクトから他の操作と一緒に削除したいと考えています。そして、そのために必要な依存関係を知りたいです。
次のリンクは、JGit http://wiki.eclipse.org/JGit/User_Guide#Getting_Startedについて読んだものです
git - Git より優れたデータベースはありますか (シリアル化可能で不変のバージョン管理されたツリーを使用)?
Git の背後にあるデータ構造を想像してみてください。これは、従来のポインターの代わりにハッシュ参照を使用することを除いて、コンフルーエントに永続的なデータ構造に似ています。
作業ツリーとインデックスのものがない場合を除いて、Git のデータ構造が必要です。そして、何百万ものブランチが存在し、それぞれが少数の他のローカル ブランチを追跡します。コミットとマージは、異なるスレッドで毎分数千回発生します。プルは毎秒発生します。
libgit2とjgitの間で、 Git のデータ ストレージ サブシステムを使用できます。
しかし、仕事に適したツールを使用していますか? git の機能を備えた DB はありますか? メモリにキャッシュされた書き込みは非常に役立ちます。
タスク:
共同編集ゲーム。各プレイヤーには独自のブランチがあり、ゲームの世界に加えるすべての変更はそのバージョンにのみ適用されます。変更は、信頼できるユーザーによって「マスター」ブランチにマージされます。多くの場合、データとソース コードは結び付けられており、同じ分岐およびマージ機能が必要です。
java - JGit チェックアウトと「git チェックアウト」の問題
tl;drコマンドラインが正常に動作している間にJGitcheckout
が例外をスローするgit checkout
現在、JGit を使用して、Java でオンライン Git リポジトリから特定のリビジョンをチェックアウトしようとしています (仕事用)。私の現在のアプローチは次のとおりです(そして、私はSVNのバックグラウンドから来たGitに非常に慣れていないため、これは間違っている可能性があります):
- ハードドライブの一時的な場所にリポジトリをクローンします
- 必要なリビジョンを見つけます (SHA-1 ハッシュとブランチの名前を使用してみました)
- そのリビジョンをチェックアウトする
- そこから、チェックアウトしたファイルをプログラムの後半への入力として使用します。
- 別のリビジョンをチェックアウトする
- これらのファイルをプログラムの別の部分への入力として使用する
基本的に、一時フォルダーの内容をどのリビジョンとも交換できるようにしたいと考えています。コマンド ライン インターフェイスを使用するとgit checkout master
、and git checkout dylanbranch
(dylanbranch は、任意に選択したリビジョンで自分のクローンに作成したブランチです) を使用してこれを行うことができましたが、同じことをしようとした Java コードは失敗します。
そして、コンソールに出力された例外:
問題のファイルが削除済みとしてマークされ、コミットのためにステージングされてgit status
いないことを確認できますが、これらの変更が存在する理由はわかりませんが、マスター ブランチに戻るといつでも戻ってきます。それにもかかわらず、コマンド ライン Git を使用して作業ツリーを正常に変更できます。
私の質問:コマンドライン git が機能するのに、なぜこのアプリケーションで JGit が機能しないのですか? その他の役立つ情報は大歓迎です-教えてください:)
更新私はjQueryリポジトリでテストしており、JGitでさらにいくつかの問題に気付きました.「マスター」ブランチで作業しているとき、私はgit status
私がいて#On branch master
、そこにあると思いますがnothing to commit (working directory clean)
、JGitのステータスコマンドを使用するとわかりますそのtest/qunit
とsrc/sizzle
は としてマークされていMissing
ます。JGit のリセットは何もしないようです。
jgit - JGit: git commit に関連付けられたタグを取得する
JGit API を使用して、特定のコミット ハッシュ (存在する場合) に関連付けられたタグを取得したいですか?
同じコードスニペットを提供してください。
java - JGit:オブジェクトを数える
リポジトリ内のgitオブジェクトの総数を取得するにはどうすればよいですか?(私git count-objects
はJGitのようなものを検索します。)
統計値を計算し、gitリポジトリのすべてのオブジェクト(blob、tree、commit、tag)を読み取る必要があるJavaプログラムを作成しました。プログレスバーのようなものは、すでに処理されたオブジェクトの数をユーザーに示す必要があります。したがって、gitオブジェクトの総数が必要です。
eclipse-plugin - EGit/JGit プラグインを介して Git イベントのリスナーを作成する方法は?
Subclipse API を使用して、Subclipse プラグインを介して発生する Subversion イベントをリッスンする Eclipse 用のプラグインを作成しています。私は基本的にリスナー インターフェースを実装しており、実行時にイベントの発生について通知を受けます。
私は似たようなことをしたいと思っていますが、Git 用です。別のプラグインを利用する場合は、EGit (JGit 上に構築されている) が最適なオプションになるようです。私は彼らのAPIの経験があまりありません。EGit、または基礎となる JGit に、Git イベント (コミット、プッシュ、プルなど) をリッスンするための同様の API インターフェースがあるかどうかを誰かが知っているかどうか疑問に思っています。
ありがとう!