1

まず、GITとgitoliteは初めてです。しかし、私は十分に読み、私の基本的な概念をクリアしました。私はSitaramのチュートリアルhttps://github.com/sitaramc/gitoliteに従っていましたが、説明と疑問についていくつか質問したいと思いました。

  1. 私はユーザーgitを持っています。gitユーザーがパスワードを持っていないことが本当に必要ですか(--disabled-passwordオプションで作成されたユーザー(RHELでは機能しませんが、ubuntuでは機能します))?gitユーザーはsshでアクセス可能でなければならないことを理解しています。

  2. GITサーバーと3つのクライアントgitadmin、cleintA、clientBがあるとしましょう。ここで、gitoliteを機能させるために、gitadminでclientA.pub、ClientB.pub(公開鍵)をコピーして、次のようkeydirに編集します。conf/gitolite.conf

     repo phpsite
           RW+         =   clientA
    
     repo javasite
           RW+         = clientB
    

今私の質問は、これらのファイルをコミットしてサーバーにプッシュするときです。それではどうなりますか?これらのリポジトリはどのように作成されますか?それらを手動で作成する必要がありますか、それともgitoliteが作成しますか?

clientAがリポジトリのクローンを作成/チェックアウトする必要がある場合、どのURLを使用しますか?

git@server.com:phpsiteまたはそれはなりますclientA@server:phpsite

この質問は少しばかげているかもしれませんが、私は本当にこれらの疑問を解決する必要があります

ヘルプやヒントは大いに評価できます。


編集

VonCの回答の後、私はジトライトを実装し、別の疑問を回避しました。clientA2人のユーザーがいるマシンがあるとしalice,bobましょう。理想的にはalice.pub and bob.pub、これらのユーザーの公開鍵を使用する必要があります。aliceさて、質問は、のような公開鍵を生成して名前を付けることができるalice-clientA.pubかということです。私の理解では、別のファイル名は認証の問題にはならないはずです。しかし、 conf/gitolite.confリポジトリの下のユーザー名はどうあるべきですか

repo phpsite
   RW+     =  alice-clientA

また

以前と同じである必要があります

 repo php:site
   RW+    =   alice

ありがとう!

4

1 に答える 1

3

gitユーザーがパスワードを持っていないことが本当に必要ですか(--disabled-passwordオプションで作成されたユーザー)

いいえ。' git'は通常のアカウントです。

これらのファイルをコミットしてサーバーにプッシュするとき。その後何が起こるか

Gitoliteはベアリポジトリphpsite.gitjavasite.gitinを作成し、公開鍵とパラメータを使用してgitoliteスクリプトを呼び出すために~git/repositories/変更します。 sshメカニズムの強制コマンドを利用します。~git/.ssh/authorized_keysclientAclientB

詳細については、「gitoliteのようなプログラムはどのように機能しますか?」を参照してください。

ユーザーとして常にssh接続を使用しますgit

git@server.com:phpsite

sshを試すことは決してありません:sshは、パブリック/プライベートsshキーのためにあなたclientAを認証します。clientAclientA

于 2013-03-23T17:40:48.090 に答える