1

次のガイドを使用して、ubuntu 10.04サーバーにgitosisを使用してgitリポジトリを設定しました: http ://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way

それはうまく機能し、ダンディです。構成をubuntu 10.10デスクトップコンピューターに複製し、そこで変更をコミットできます。

大丈夫ですが、実際のコーディングのほとんどはサーバーで行います。そのため、configuration/gitosis-admin.gitリポジトリと他のリポジトリのクローンをローカルで作成する必要があります。

git clone --local file:///home/git/repositories/gitosis-admin.git私に与える:致命的:'/home/git/repositories/gitosis-admin.git'はgitリポジトリ致命的ではないようです:リモートエンドが予期せずハングアップしました

サーバーユーザーをグループgitに追加し、次のようになりました:致命的:'/home/git/repositories/gitosis-admin.git/objects'を開くことができませんでした:アクセスが拒否されました

次に、サーバー上で公開キーを作成し、それをキー管理リポジトリに追加して、構成内の(user)と(user)@(hostname)の両方としてユーザー名を次のように追加しました:git clone git @ localhost: gitosis-admin.gitまたはgitclonegit @(hostname):gitosis-admin.gitどちらもgit @(hostname)パスワードを要求します

デスクトップに戻ってgitosis-adminリポジトリを確認すると、gitosis.confには次のリストが表示されます。[gitosis]
[groupgitosis-admin]
書き込み可能なgitosis-adminmembers
=(desktopUN)@(desktopHostname)(serverUN)@( serverHostname)

しかし、サーバー上で/home/git/repositories/gitosis-admin.git/とcat gitosis.confにルートすると、[gitosis]
[groupgitosis-admin]
書き込み可能なgitosis-adminmembers
=(desktopUN)@( desktopHostname)

私はこれに頭を悩ませることができません、私が望むようにそれを動かすためにこれをどのように設定するのですか?このすべての背後にある私の側にいくつかのnoobの咳がある可能性は高いですが、これを機能させるために5時間費やし、svnリポジトリを設定するのに2分かかります。だから私は焦り始めています..

ありがとう

4

2 に答える 2

2

他の誰かのインストールを正しく機能させるには、gitosis-adminローカルクローンを使用する必要があったため、この質問に詳細に回答したいと思います。gitosis-adminを編集する必要があるが、リポジトリが存在するファイルシステムへのローカルルートアクセスしか持っていない場合にどうすればよいかを理解するために、他のユーザーがここに来るかもしれないと思います。それがあなたがここにたどり着いた方法であるならば、あなたはgitosis-adminリポジトリをローカルで複製して編集することができるという点であなたの直感は良いです。ただし、すべてを機能させるには、その方法に注意する必要があります。手順は次のとおりです。

前提条件:

  • あなたはルートです。
  • $USERgitosis-adminアクセスを許可します。$USERは有効なユーザーです。
  • gitosis-adminリポジトリはにあり$PATHます。(Ubuntuではこれは通常です/srv/gitosis/repositories/gitosis-admin.git
  • $PATHユーザー「gitosis」が所有しています。

手順:

  1. まだ持っていない場合は、gitosis-adminにアクセスを許可するユーザーのキーペアを生成します。
    sudo -H -u $USER ssh-keygen
  2. gitosisユーザーとしてgitosis-adminリポジトリのローカルクローンを作成します。
    sudo -H -u gitosis git clone $PATH
  3. 新しい公開鍵を追加します。
    sudo -H -u gitosis cp ~$USER/.ssh/id_rsa.pub ./gitosis-admin/keydir/$USER.pub
  4. 必要に応じてgitosis-adminconfを編集します。
    sudo -H -u gitosis nano ./gitosis-admin/gitosis.conf
  5. gitosisユーザーとしてコミットします。
    sudo -H -u gitosis git commit -am "Adding $USER" ./gitosis-admin
  6. gitosisユーザーとしてプッシュします。
    sudo -H -u gitosis git push ./gitosis-admin
  7. gitosisユーザーとして更新後のフックを実行します。
    sudo -H -u gitosis GIT_DIR=$PATH $PATH/hooks/post-update
于 2011-11-07T21:54:49.093 に答える
1

サーバー上のユーザーのssh公開鍵をgitosisに追加するか、デスクトップからサーバー上のユーザーにssh秘密鍵をコピーして使用する必要があります。

申し訳ありませんが、最初は質問をざっと読みました。どのようにgitosisをインストールしましたか?インストール中に、gitosis-adminリポジトリの必要なフックが実行可能に設定されなかったという一般的な問題があったことを覚えています。その結果、にプッシュされたときに構成が更新されることはありません。

また、ローカルファイルシステムではなくSSHを介してgitosisでホストされているリポジトリにのみアクセスする必要がありますが、この部分はすでに理解しているようです。

さらに、あなたが気付いていない場合、gitosisは維持されておらず、非推奨であり、gitoliteが優先されます

于 2011-02-12T19:05:43.703 に答える