20

Archlinux で gitosis を設定しようとすると、いくつかの問題に直面します

http://wiki.archlinux.org/index.php/Setting_Up_Git_ACL_Using_gitosis

こちらのwiki記事を参考に、gitosisのインストールに成功しました。

$ sudo pacman -U gitosis-git-20090525-1-i686.pkg.tar.gz
$ sudo -H -u gitosis gitosis-init < /tmp/id_rsa.pub

/srv/gitosis/.ssh/authorized_keys を変更して、ローカル ユーザーの id_rsa.pub を含めます。

しかしgit clone、ローカルユーザーとして実行すると、

$ git clone gitosis@host:gitosis-admin.git

それは言う

/home/wyx/gitosis-admin/.git/ gitosis@10.132.140.73 の空の Git リポジトリを初期化しました
: *****
致命的: 'gitosis-admin.git' は git リポジトリのようには見えません
致命的:リモート エンドが予期せず電話を切った

そのため、git clone 操作は失敗しました。ローカル ユーザーのディレクトリ (/home/wyx) で空の git リポジトリを初期化しようとするのはなぜですか? また、ローカル ユーザーの id_rsa.pub を .ssh/authorized_keys に既に追加しているため、パスワードを要求するのはなぜですか?

4

11 に答える 11

20

空のリポジトリが作成されたのは、これが git の仕組みだからです。リモート オブジェクトをリポジトリにプルし始める前に、リポジトリを初期化する必要があります。残念ながら、これは、クローンを再試行する前に、空のリポジトリを手動で削除する必要があることを意味します。

クローンが失敗した理由については、リモート リポジトリ パスに間違った構文を使用しているようです。git clonescp 構文を使用しません。実際、クローン プロトコルを指定しない場合は、ssh ではなく git プロトコルを想定していると思われます。これがおそらくパスワードを要求する理由でしょう。代わりにこれを試してください:

$ git clone ssh://gitosis@host/~/gitosis-admin.git
于 2009-05-25T14:57:45.930 に答える
8

「致命的: '/gitosis-admin.git' は有効なリポジトリではないようです」という同じ問題にも直面しました。私は問題をたくさん検索し、最終的に解決策を見つけました。

実際、gitosis ユーザーのデフォルトのアドレスは "/srv/gitosis" です。

そして、「git clone gitosis@server.com:gitosis-admin.git」と書くと、/srv/gitosis にある gitosis-admin.git リポジトリが検索されます。そのため、/srv/gitosis 内に入ると、gitosis-admin.git リポジトリで構成される repositories という名前の別のリポジトリがその中にあることがわかりました。

したがって、実際にはデフォルトで gitosis-admin.git はデフォルトの場所にありませんでした。そのため、コマンドパスを変更する必要があり、正常に機能しました。

ローカル マシンにレポジトリのクローンを作成しました。コマンドを次のように使用しました。

「git clone gitosis@server.com:repositories/gitosis-admin.git」でうまくいきました。

あなたの場合の gitosis-admin ディレクトリを参照してください。問題を解決できることを願っています。

于 2011-09-27T06:15:59.333 に答える
6

これが私の問題を解決したものです(Ubuntuで):

git clone gitosis@ns.home:/srv/gitosis/repositories/gitosis-admin.git
于 2011-10-22T05:02:22.213 に答える
4

Gitosis は独自のauthorized_keysファイルを作成します。そのファイルが既にある場合は、それを削除し、gitosis-init が再作成できるようにします。それが完了したら、ファイルを台無しにしないでください。

于 2010-08-08T14:41:09.433 に答える
2

ubuntuでも同じ問題がありましたが、

それは一緒に働いたgit clone ssh://git@serverName/absolutePath/gitosis-admin.git

于 2012-02-13T20:52:36.017 に答える
1

通常、authorized_keys を編集する必要はありません。

以前に認証の問題が発生したことがあります。以前に公開鍵を配置したことがあるにもかかわらず、gitosis サーバーがパスワードを要求し続けました。変更をコミットして gitosis にプッシュしようとしたときに、gitosis が「WARNING:gitosis.ssh:Unsafe SSH username in keyfile: 'myuser@myserver.pub'」という警告を表示したことに気付きました。

キーファイルとキーファイル名の user@host 部分を変更すると、問題が解決しました。どういうわけか gitosis は前のものを好きではありませんでした。

于 2012-05-15T18:13:48.453 に答える
0

私はついにそれがこのように動作するようになりました

git clone ssh://git@host:1337/home/git/repositories/gitosis-admin.git

ここで、1337 は ssh が使用しているポートです。

于 2011-10-18T18:29:13.950 に答える
0

新しい Ubuntu マシンに移動し、自分でこの質問に出くわしたので、ここでいくつかの回答を見て、正しい方向に進むことができました。つまり、各リポジトリの.gitファイルへの絶対パスを使用することです。

少し実験してみると、git ユーザーのホーム ディレクトリへの相対パスも機能し、次のように短くなることに気付きました。

git@host:/var/git/repositories/project.git

至るまで

git@host:repositories/project.git

もう少し遊んで、プロジェクト ファイルをリポジトリから git のホーム ディレクトリに移動してみました。今はプロジェクトだけが必要です:

git@host:project.git

少しハックですが、害を及ぼすことはないと思います。別のUbuntu(古い)でgitosisをホストしていて、上記の最後の表記でリポジトリディレクトリ内にプロジェクトを配置できたので、何が変わったのかを知っておくとよいでしょう。

于 2012-06-24T22:13:24.467 に答える
0

同じ問題で、私の場合は、.ssh/ に間違った authorized_keys があったことでした。いつの間にかぶち壊してたんだろうな…

于 2012-05-22T21:59:28.437 に答える