6

サーバー(Macosサーバー)でgitoliteをセットアップしようとしています。

ここにあるINSTALLドキュメントの指示に従いました: http ://sitaramc.github.com/gitolite/doc/1-INSTALL.html

rootメソッドをインストールしました。

すべてをセットアップしました(ssh pubkey認証とデフォルトのgitoliteセットアップ)

$ssh git@server info
hello admin, the gitolite version here is v1.5.9.1-27-gb97115f
the gitolite config gives you the following access:
     R   W  gitolite-admin
    @R_ @W_ testing

インストール手順に従って、リポジトリをチェックアウトできるはずです。

しかし、gitolite-adminリポジトリのクローンを作成しようとすると、エラーが発生します。


$ git clone git@server:gitolite-admin
Cloning into gitolite-admin...
Assertion failed: (argv0_path), function system_path, file exec_cmd.c, line 27.
error: git-shell died of signal 6
fatal: The remote end hung up unexpectedly

最新のgitバージョンのgitoliteとgitv。1.7.3.4を入手しました

誰か助けてもらえますか?

編集1:エラーメッセージの前にgitcloneコマンドを追加

4

7 に答える 7

8

このエラーの正しい修正は、追加することです

$ENV{GIT_EXEC_PATH} = "/usr/libexec/git-core";

あなたの .gitolite.rc ファイルに。

于 2011-11-07T11:47:54.217 に答える
7

OP skipper3kは、「 壊れた」質問に少し似た、Gitの問題を報告しています。RUNTIME_PREFIXgit pull

RUNTIME_PREFIXが定義されているかどうかはわかりません。しかし、 を調べているMakefileと、接頭辞がデフォルトで$(HOME). これがあなたの問題の原因である可能性があると思います。

簡単な答えは、これを に入れることです~/.bashrc:

export GIT_EXEC_PATH=/opt/local/libexec/git-core

何が起こっているのかをもっと知りたい場合は、git を使用してport -d upgrade -f git-core(または同様の方法で) 再コンパイルし、ビルド ログをよく見て、プレフィックスが設定されている場所を確認する必要があります。
ちなみに、port cat git-coreの使用頻度が高いことを示しています${prefix}


元の答え:

まず、最新の gitolite バージョンを入手しましたか? https://github.com/sitaramc/gitolite/
では、「 」ブランチを検討する必要があります。pu

インストール ドキュメントは、この 1 つです。


GitoliteV3 または「g3」ドキュメント:

「インストール」は次のオプションで構成されます。

  1. ソースを任意の場所に保管し、フル パスを使用して gitolite コマンドを実行します。
  2. ソースを任意の場所に保管し、gitolite プログラムだけを $PATH 上のディレクトリにシンボリック リンクします。
  3. ソースをどこかにコピーし、そのパスを使用して gitolite コマンドを実行します。

「インストール」コマンドは、次の 3 つの方法で実行できます。

# option 1
gitolite/install

# option 2
gitolite/install -ln
# defaults to $HOME/bin, or use a specific directory:
gitolite/install -ln /usr/local/bin

# option 3
gitolite/install -to /usr/local/gitolite/bin

gitolite V2 に対する古い回答: 第二に、私はクライアントからのメソッド方法:

この方法の利点は、インストールを試みる前に ssh pubkey の問題を解決しなければならないことです。
専用のユーザー ID がある場合に最適に機能します。

  • gitolite をインストールするためのサーバー上の 1 つ、
  • そしてそれを管理するためのクライアント上の 1 つ。

欠点は、管理者ユーザーが 2 つのキーを持ってしまうことです。

  • 1つはシェルアクセス用(彼が始めたもの)と
  • 1 つは gitolite アクセス用です (必要に応じてスクリプトが作成します)。

そこで~/.ssh/config、2 つの異なるパラメーター セットを含むファイルを作成したいと思います。

host gitolite
     user git
     hostname server
     identityfile ~/.ssh/git
host gitadmin
     user git
     hostname server
     identityfile ~/.ssh/id_rsa (myaccount public key)

gitolite -adminは、最初の公開 ssh キーに対してのみ表示されます。

C:\HOMEWARE\git>ssh gitolite
hello git, the gitolite version here is v1.5.9-25-ga10287a
the gitolite config gives you the following access:
     R   W      gitolite-admin
    @R_ @W_     testing
Connection to server closed.

私のアカウントで:

C:\HOMEWARE\git>ssh gitadmin
hello myaccount, the gitolite version here is v1.5.9-25-ga10287a
the gitolite config gives you the following access:
    @R_ @W_     testing
Connection to mccprdgit10 closed.

そう:

C:\HOMEWARE\git>git clone gitolite:gitolite-admin
Cloning into gitolite-admin...
remote: Counting objects: 16, done.
remote: Compressing objects: 100% (13/13), done.
remote: Total 16 (delta 2), reused 0 (delta 0)
Receiving objects: 100% (16/16), done.
Resolving deltas: 100% (2/2), done.
于 2011-02-18T13:33:36.000 に答える
2

考えられることはほとんど試してみましたが、うまくいきませんでした...どこかでGITが電子メールアドレスで非常に高いことに気付くまで...-Cオプションを使用してsshキーペアを再生成しました:

ssh-keygen -t rsa -C " nospam@nowhere.org "

驚いたことに、突然、問題なく gitolite-admin のクローンを作成できました。

どうやら、.gitconfig のuser.emailキーの電子メールは、SSH キーの生成に使用された電子メールに対応している必要があります。正直なところ、.ssh フォルダにキーペアが 1 つしかない場合、メールが対応していることが一体なぜ問題になるのでしょうか? 私見、キーを渡し、そのキーがサーバーのauthorized_keysにある場合、.gitconfig user.emailプロパティに関係なく機能するはずです。

于 2012-07-02T13:14:19.683 に答える
2

問題は、Mac での git のコンパイル方法にありました。RUNTIME_PREFIX を設定せずに git を手動でコンパイルする必要がありました。今では動作します。

于 2011-02-23T11:25:35.830 に答える
0

インストールの問題が正確にはわかりません。サーバーに gitolite をインストールするために実行したコマンドを知っておくと役立ちます。

これらの 2 つのリンクを読むことをお勧めします。これらは、gitolite をインストールするときに役に立ちました。

http://kris.me.uk/2010/09/30/git-repository-server-gitolite.html (特にこれ)

http://progit.org/book/ch4-8.html

于 2011-02-18T12:25:08.290 に答える
0

Mac Lion の Gitolite v3 の解決策として、これがうまくいきました。

$ENV{PATH}="/usr/local/bin:$ENV{PATH}";

サーバー上のgit ユーザーの~/.gitolite.rcに追加します。「1;」の前にあることを確認してください。最後に。

詳細はこちら: https://serverfault.com/questions/307493/cant-clone-gitolite-admin

http://sitaramc.github.com/gitolite/g2migr.htmlによると、GIT_PATH を含むソリューションは時代遅れです。

于 2012-08-13T23:55:31.433 に答える
0

最初の 2 回を忘れてから3回目の対処をしたばかりなので、珍しいことではないと思います。

$ git clone git@hugo:gitolite-admin
Cloning into gitolite-admin...
fatal: The remote end hung up unexpectedly

これの少なくとも 1 つの理由は、gitolite ユーザーがログイン シェルを持っている必要があるためです。システム ユーザーを作成すると、何らかの理由で機能しません。失敗して、上記のエラーが発生します。

また、ssh テストでは、コマンド ラインで PTY をオフにする必要があります。そうしないと、ssh が機能しません。古いバージョンの ssh では機能した可能性がありますが、私が持っているものでは機能しないと思います。

$ ssh git@hugo
PTY allocation request failed on channel 0

$ ssh -T git@hugo
hello key, this is git@hugo running gitolite3 v3.01-10-g699bafa on git 1.7.10

(なぜ私が「キー」と呼ばれていると考えるのかは、まだ解決していない別の設定の問題です)。

于 2012-05-06T20:35:12.057 に答える