4

gitとgitoliteを使用したシステムセットアップがあります。私の構造を次のようにしたいことを除いて、すべてがうまく機能しています。

ローカル環境->開発サーバー->本番サーバー

開発サーバーにリポジトリを設定しましたが、ローカル環境に正常に複製されました。さて、必要なのは開発サーバー上のローカルファイルシステムの作業コピーですが、gitoliteでこれを行う方法がわかりません。

git clone /home/gitolote/repositories/myrepo.git

プッシュ/プルしようとするまでは正常に動作します。プッシュ/プルしようとすると、次のようになります。

remote: ENV GL_RC not set
remote: BEGIN failed--compilation aborted at hooks/update line 20.
remote: error: hook declined to update refs/heads/master

ギトライトでこれを行う方法についてのアイデアはありますか?

4

2 に答える 2

8

クローンにローカルプロトコルを使用しています。つまり、gitoliteを完全にバイパスしています(gitoliteスクリプトはssh forceコマンドを介して呼び出されます)。

次のようなgitolite互換アドレスを使用して、開発サーバー上に2番目のクローンを作成する必要があります。

git clone git@gitoliteserver:myrepo.git

その2番目のリポジトリは、後の開発サーバーに「ローカルファイルシステムの作業コピー」を提供しながら、gitoliteサーバーとの間でプッシュ/プルすることができます。

于 2011-05-02T05:15:03.353 に答える
3

ローカルプロトコルを使用する必要がある場合、必要なのはGL_BYPASS_UPDATE_HOOK環境変数を1次のように設定することだけです。

gorgo@somegitoliteserver:~/testing$ GL_BYPASS_UPDATE_HOOK=1 git push
Counting objects: 3, done.
Delta compression using up to 3 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 234 bytes, done.
Total 2 (delta 1), reused 0 (delta 0)
Unpacking objects: 100% (2/2), done.
To file:///home/gitolite/repositories/testing.git/
96be337..ab5ca6d  master -> master
于 2013-06-06T07:24:15.703 に答える