2012-01-27 10 views
4

私には2つの問題があります。私はUbuntu 10.10を持っており、gitolite ツールを使ってgit serverをインストールしました。すべてがかなりうまくいった。 gitoliteのgl-setupコマンドは、2つのリポジトリ: gitolite-adminとテストを作成しました。GITクローンと最初のGITプッシュの問題

1)QUESTION 1

マイデフォルトgitoliteの管理者ユーザが "gitの" と呼ばれ、すでに作成されています。

まず、gitolite-adminリポジトリをクローンして、conf/gitolite.confにいくつかの新しいrepoと新しいユーザを追加するように変更しなければなりません(私はrootユーザを追加しました。以前はkeydirフォルダに公開鍵を追加していました)、変更を追加/コミットしてプッシュバックしなければなりませんでした。3

Info:〜git/.ssh/authorized_keysファイルがあります。 1つの値 - 最初に作成したgitユーザーの公開キー。

は動作しませんでした:

[email protected]:~/$ git clone [email protected]<<SERVER_IP>>:gitolite-admin.git 
Initialized empty Git repository in /home/git/ga/gitolite-admin/.git/ 
[email protected]<<SERVER_IP>>'s password: 
fatal: 'gitolite-admin.git' does not appear to be a git repository 
fatal: The remote end hung up unexpectedly 

が働い:

host gitolite 
    user git 
    hostname <<SERVER_IP>> 
    identityfile ~/.ssh/git.pub 

[email protected]:~/$ git clone gitolite:gitolite-admin 
Initialized empty Git repository in /home/git/ga/gitolite-admin/.git/ 
Enter passphrase for key '/home/git/.ssh/git.pub': 
Enter passphrase for key '/home/git/.ssh/git.pub': 
Enter passphrase for key '/home/git/.ssh/git.pub': 
[email protected]'s password: 
remote: Counting objects: 23, done. 
remote: Compressing objects: 100% (18/18), done. 
remote: Total 23 (delta 4), reused 0 (delta 0) 
Receiving objects: 100% (23/23), done. 
Resolving deltas: 100% (4/4), done. 

は、なぜ私は、すべての第一の変形では動作しませんでした:コンテンツと

touch ~/.ssh/config 

?すべてのチュートリアルでは問題なく動作するはずだと言います。 〜/ .ssh/configファイルでそのホスト構成を作成する際に2番目の変種を使用しなければなりませんでした。これは少しイライラします。レポのパスは/ home/gitの/リポジトリで、sshがデフォルトポートと同じサーバー上のユーザーのルートを使用して22

2)QUESTION 2

ですが、私はは/ var/WWWのは言わせに空のフォルダを作成しました/example.com/www。 git initを実行してからファイル(.gitignore)を追加し、git add -Aとgit commit -m "..."を実行しました。

その後、私は、原点用リモートパス作成:私はgitのプッシュ原点マスターを走り、これは私が得たものである

git remote add origin [email protected]<<SERVER_IP>>:myrepo.git 

を:

fatal: 'myrepo.git' does not appear to be a git repository 
fatal: The remote end hung up unexpectedly 

私は置くように、変更するには、いろいろなことを試してみましたリポジトリ全体のパス(私はどこにもそれが見当たらなかったので、正しくありません)と私は得ました:

Counting objects: 3, done. 
Writing objects: 100% (3/3), 243 bytes, done. 
Total 3 (delta 0), reused 0 (delta 0) 
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 
To [email protected]<<SERVER_IP>>:/home/git/repositories/myrepo.git 
! [remote rejected] master -> master (hook declined) 
error: failed to push some refs to '[email protected]<<SERVER_IP>>:/home/git/repositories/myrepo.git' 

私は間違っていますか?このような基本的な仕事のために私はこの珍しい困難を経験するので、これは不満を感じています。私はSVNで素晴らしい経験をしていますが、これはGITの最初の演劇です。

ありがとうございました!

答えて

1

注:identityfileがデフォルト名(id_rsa.pubおよびid_rsa)の場合、これはうまくいっています。それが当てはまらないので、configファイルが必須でした。

注意2 /あなたはgit repoを作成しましたが、それについてgitoliteに知らせましたか?
あなたはshould declare the new repo in the config file of the gitolite-admin repoです。

rootとsshを使用している場合は、使用するには独自の~/.ssh/id_rsa(.pub)キーがあり、それらのキーはGitoliteに登録されていることを意味します。

レポ・パスの注意:プッシュ/プル・アドレス用の完全なローカル・パスを使用しないでください。これはGitoliteを完全に回避します。

  • すべてのリモートアドレスが[email protected]:arepo.gitで始める必要があります:


    gazillonのコメントlatersは、と思われる、あなたのユーザーが 'git' としてsomehostname上のgitコマンドを実行します( gitとgitoliteを担当するアカウント)。 「myuser」の公開鍵を意味
    はあなたの道を行かないssh接続は、あなたがそれらのssh debugging tipsを見ることによって開始することができますsomehostname:~git/.ssh/authorized_keys

  • 任意の時間に登録する必要があります。例えば
    ssh -vvv git:somehostnameあなたがconfigファイルを避けたい場合は、あなたがそれらの公開鍵/秘密鍵のため標準命名規則を使用する必要が

  • に何が起こっているかを説明するために長い道のりを行くことができます(~myuser/.ssh/id_rsa 、および~myuser/.ssh/id_rsa.pub

+1

1)[OK]を、これは奇妙である、すべてのチュートリアルは(ほとんど)、さらにはそのドキュメントが作成の必要性について言及していないユーザーのgitへの〜/ .ssh/configファイルという。今はすべてのインストールをクリーンアップし、すべてを再インストールしました。 私は秘密鍵/公開鍵のログインをsshに使用しているので(これも〜/ .ssh/authorized_keysファイルを使用しているので)、パスワードなしでユーザー "git"を再作成しました。そして今、私がgitolite-adminリポジトリをクローンしようとすると、tail(もしパブリックキーを使うのではなく)がパスワードを要求し続けるからです。 –

+0

2)はい、リポジトリは以前作成されていますが、リポジトリフォルダにあり、ユーザルートはRW +権限を持つリポジトリに追加されています。 –

+0

@ValentinTudor 1)は、sshキーが何らかの形で見つからない(間違ったホーム、間違ったパスまたは間違った名前)ことを意味します:http://sitaramc.github.com/gitolite/sts.html – VonC