問題タブ [gitweb]
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 - gitosis を使用して git リポジトリへの http アクセスを管理する
[2010/9/16 更新]
昨夜これを調べた後、最初の質問が実際には2つの別々のことを求めていることに気付きました。
1) gitosis によって作成されたすべてのリモート リポジトリに更新後のフックを設定することは可能ですか (つまり、gitosismv hooks/post-update.sample hooks/post-update
でリポジトリを作成した後に手動で実行する必要はありません)。git update-server-info
post update フック内から呼び出されるという事実)。
2) HTTP 経由でリポジトリにアクセスできるようになったら、gitosis.conf のオプションを使用してアクセスのオンとオフを切り替えることができますか (daemon = no
またはに似たものgitweb = yes
)
--- 質問 1 の解答 ---
git init
Git はテンプレートを使用して、コマンドで新しいリポジトリを作成することが判明しました。mv hooks/post-update.sample hooks/post-update
テンプレートディレクトリ内で実行することによりgit init
、私のサーバーでの今後のすべての呼び出しで、更新後のフックが正しく構成されます。(OSXでは、テンプレートディレクトリは/opt/local/share/git-core/templates/
気にする人のためのものです)
これが機能するためのもう 1 つの要件は、リポジトリの HTTP クローン URL が次のようになるように、Apache 書き換えルールを有効にすることです。http//git.example.com/repo.git
私の書き換えルールは次の/etc/apache2/extra/httpd-vhosts.conf
ようになります。
--- 質問 2 の解決策をまだ探しています...ヘルプ! :) ---
HTTP クローンがすべてのリポジトリで機能するようになったので、gitosis を使用して HTTP アクセス制御を管理する方法があるかどうか疑問に思っています。リポジトリへの git-daemon およびgitwebアクセスを設定daemon = no
しgitweb = no
てオフにしますが、Apache 書き換えルールがまだ有効であるため、リポジトリは. これを管理するために gitosis を使用する方法についてのアイデアはありますか?http://git.example.com/repo.git
【最初に投稿した質問】
gitosis を使用して git リポジトリへの http アクセスを管理することは可能ですか? たとえば、gitosis.conf では、次を使用して gitweb と git-demon のアクセスを管理できます。
現在、次のコマンドを発行してリポジトリのクローンを作成できます。
ただし、次のコマンドを発行すると:
次のエラー メッセージが表示されます。
ただし、サーバーにログインして repo.git 内から次を実行すると:
その後、http によるクローン作成は正常に機能します。
gitosis 内からリポジトリへの http アクセスを管理する方法はありますか?
git - 共有ホスティングに Gitweb をどのようにインストールしますか?
最近、共有ホスティングに git をインストールしました。gitweb をインストールしたいのですが、インストールと構成の方法がわかりません。
gitweb のインストールで共有するプロセスはありますか?
git - リポジトリが表示されない
Git / GitosisリポジトリへのWebインターフェイスを試すために、GitWebとCGitをインストールしました。Fedora 13と私のGitosisで実行すると、うまく機能しています。gitwebとcgitをインストールし、リポジトリを指すように構成を設定しましたが、gitwebもcgiもリポジトリを一覧表示しません。Gitwebはgitwebページを表示しますが、次のように表示されます。
404-プロジェクトが見つかりません
次の/etc/gitweb.confファイルに適切なディレクトリがリストされています。
CGitはcgitページを表示しますが、次のように表示されます。
gitリポジトリではありません:'/var/lib/gitosis/repositories/code/test.git'
このテストリポジトリのリンクをクリックすると(はい、存在します)。次の/etc/cgitrcファイルに適切なディレクトリがリストされています。
どちらもリポジトリをリストしていないので、それは私の構成であるに違いないと思いますが、これらを表示するために何を構成すればよいかわからないようです。/ var / lib / gitosis/repositoriesにSymLinkedされたリポジトリがあります。これはディレクトリ/home/gitを指します。また、リポジトリを/ var / lib / gitosis / repositoryの下にcodeとconfとして設定し、docsをcode/test.gitまたはconf/test.gitまたはdocs/test.gitでチェックアウトします。これが問題である可能性があると考え、リポジトリを/ var / lib / gitosis / repository dirに直接コピーしましたが、それでも表示されませんでした。誰かが私がこれを機能させるために試みることができるものを私に向けることができますか?何日もそこにいました。
git - 自動生成された TarGZ アーカイブの安定したチェックサムを作成する方法は?
ビルド スクリプトの場合、特定のバージョンのソース パッケージを操作する必要があります。大きなソース アーカイブを含める必要がないように、スクリプトはチェックサム (SHA1) を保存し、自動的にダウンロードします。これは、次のような公式リリースでは非常にうまく機能します。
http://download.videolan.org/pub/videolan/libdca/0.0.5/libdca-0.0.5.tar.bz2
ただし、一部のパッケージは公式リリースを提供していないため、バージョン管理システムから十分にテストされたバージョンをダウンロードします。たとえば、Gitweb は、TarGZ アーカイブをダウンロードするための便利な「スナップショット」機能を提供します。
http://git.videolan.org/?p=libbluray.git;a=snapshot;h=cf9ee593f;sf=tgz
残念ながら、この URL はリクエストごとにわずかに異なるファイルを返します。常に同じ方法で gzip を介して圧縮されたまったく同じ tar アーカイブを常に返しますが、gzip アーカイブの先頭付近のタイムスタンプにはわずかな違いがあります。
これらの数バイトにより、ダウンロードごとにチェックサムが異なるため、スクリプトはダウンロードされたソース アーカイブの整合性を保証できなくなります。
この問題を回避するにはどうすればよいですか?
linux - git push 後、プロジェクトが gitweb から消える
gitolite を使用してソース コードをホストし、gitweb を使用して Web サイトをセットアップし、すべてのプロジェクトを表示しています。最初はすべてのプロジェクトが gitweb 経由で正しく表示されますが、1 つのプロジェクトを変更して git push すると、プロジェクト リストからすぐに消えてしまいました。
すべてのプロジェクトは、git push を行うたびに、gitweb のプロジェクト リストから消えます。次に、そのプロジェクトの「git clone --bare」を実行して元のプロジェクトを置き換えると、再びプロジェクトに戻ります...
誰でも同じ問題に遭遇しますか?
ps「git clone --bare」を作成し、「git push」を実行してから、元のものと比較すると、次のようになります。
test.git/objects のみ: 86 test.git/objects のみ: af test.git/objects のみ: f4 test.git/refs/heads のみ: master
マスターのコミット ID を持つ新しいファイルが作成されます。
git - gitolite から別のマネージド GIT リポジトリへの移行
私は過去数か月間 gitolite/gitweb を使用しており、その組み合わせに非常に満足していますが、現在、訪問者が見るものへのアクセスを制限できる、より管理された Web フロントエンドへの移行を検討しています。現在の範囲を超えて GIT の使用を拡大しており、非公開情報を含むコードを参照できるようにしたいと考えています。現在、このコードは機密性が高いため、gitweb には掲載されていません。
Redmine や Indefero などのソリューションを見てきましたが、既存のリポジトリを使用する代わりに、まったく新しい git リポジトリを生成する必要があるようです。
続行する方法についてのフィードバックは大歓迎です。
ファローアップ
今日の午後、検索中にこのリンクを見つけました。誰もこの方法の経験がありますか?
git - Gitweb の失敗: 致命的: refs/heads/master のオブジェクト 0000000000000000000000000000000000000 がありません
gitolite で管理されている一連のリポジトリで gitweb を使用しようとしています。問題なく、ssh 経由でクローン/プッシュ/プルを正常に実行できます。インデックス ページを表示しようとすると、Apache ログに次のエラーが表示されます。
fatal: missing object 0000000000000000000000000000000000000000 for refs/heads/master, referer: http://gitwebbox/gitweb/?p=mlp2.git;a=summary
git fsck を実行しましたが、問題は見つかりませんでした。master の ref は、オブジェクト ツリーに存在するハッシュを指します。
誰が何が間違っているかを理解するのを手伝ってくれますか? ありがとう!
git - git エラー "missing object 00000000000000000000000000000000000000 for refs/heads/..." に詳しい人はいますか?
git v1.7.1 を実行しており、gitweb が構成されています。私たちは管理にも gitolite を使用していますが、それがこの問題と密接に関係しているとは思いません。時々、Apache ログに次のようなエラーが表示されます。
最後の省略記号は通常、ブランチ名です。ゼロの文字列は SHA1 値であると考えています。明らかに、すべてゼロは SHA1 値ではありません。この値がどこから来ているのか、私には明らかではありませんか?
サーバーで git fsck を実行しましたが、問題は報告されませんでしたが、git gc は問題を解決します。また、このリポジトリ (およびそのブランチ) に正常にプルおよびプッシュできます。影響を受けるのは gitweb だけです。
ここにクローズドな質問があるため、他の人がこの問題を見たことを知っています :
追加情報
この問題は、gitolite-admin リポジトリで確認されています。gitolite-admin リポジトリにはブランチがないため、これはブランチにはありませんでした。
git - GitWeb からファイルのソース コードを取得するにはどうすればよいですか?
Git リポジトリ内のファイルの HEAD リビジョンを (curl または AJAX 経由で) ダウンロードしたいと考えています。GitWeb は既にインストールされています。
フォーマットされたソース コードを取得できます: http://server1.local/?p=Project&a=blob&f=Path/To/File.html
ただし、「a」の値として blob_plain を使用すると、これは機能しないようです。blob_plain には「h」パラメーターにハッシュが必要ですが、特定のファイルではなく、最新バージョンのファイルを参照したいと考えています。
設定する必要があるものはありますか?正しい URL スキーマを使用していますか?
git - gitweb の "TAG - diff" - 可能ですか?
v0.1 と v0.2 の 2 つのバージョンがあるとします。その間に約 20 件のコミットがあります。2 つのバージョンで一種のコード レビューを行いたい場合、gitweb では、各コミット間の差分を作成する機能のみが提供されます。2 つのバージョン間で行われたすべてのコミットの差分が欲しいだけです。それは可能ですか?コマンドラインでは、次のようになります。
git 差分 v0.1 v0.2
ただし、差分ビューアー (meld) を使用すると、各ファイルに対して git が開き、すべての変更を一度に (1 つのファイルで) 確認する方法がありません。
たぶん、誰かがすでに同じ問題に遭遇していて、そこで何をすべきか教えてくれるでしょうか?
こんにちはライムピックス