2 つの問題があります。Ubuntu 10.10 を使用しており、gitolite ツールを使用して git サーバーをインストールしました。すべてがうまくいきました。gitolite の gl-setup コマンドは、gitolite-admin と testing の 2 つのリポジトリを作成しました。
1) 質問 1
私のデフォルトの gitolite 管理者ユーザーは「git」と呼ばれ、既に作成されています。
最初に、gitolite-admin リポジトリのクローンを作成し、たとえば conf/gitolite.conf にいくつかの変更を加えて、新しいリポジトリと新しいユーザーを追加する必要がありました (root ユーザーを追加し、前に秘密鍵/公開鍵を作成し、さらに追加しましたkeydir フォルダーへの公開鍵)、変更を追加/コミットしてプッシュバックする必要がありました.3
情報: 私の ~git/.ssh/authorized_keys ファイルは問題ありません。command= で始まり、最初に作成した git ユーザーの公開鍵という 1 つの値しかありません。
動作しませんでした:
git@vs1:~/$ git clone git@<<SERVER_IP>>:gitolite-admin.git
Initialized empty Git repository in /home/git/ga/gitolite-admin/.git/
git@<<SERVER_IP>>'s password:
fatal: 'gitolite-admin.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
働いた:
touch ~/.ssh/config
内容:
host gitolite
user git
hostname <<SERVER_IP>>
identityfile ~/.ssh/git.pub
git@vs1:~/$ 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':
git@89.35.160.243'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.
最初のバリアントがまったく機能しなかったのはなぜですか? すべてのチュートリアルでは、問題なく動作するはずです。~/.ssh/config ファイルでそのホスト構成を作成するために、2 番目のバリアントを使用する必要がありました。これは少しイライラします。リポジトリ パスは /home/git/repositories で、ssh はデフォルトのポート 22 です。
2) 質問 2
同じサーバーでユーザー root を使用して、たとえば /var/www/example.com/www に空のフォルダーを作成しました。git init を実行してから、ファイル (.gitignore) を追加し、git add -A と git commit -m "..." を実行しました。
次に、origin のリモート パスを作成しました。
git remote add origin git@<<SERVER_IP>>:myrepo.git
git push origin master を実行したところ、次のようになりました。
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 git@<<SERVER_IP>>:/home/git/repositories/myrepo.git
! [remote rejected] master -> master (hook declined)
error: failed to push some refs to 'git@<<SERVER_IP>>:/home/git/repositories/myrepo.git'
私が間違っていることは何ですか?このような基本的なタスクに対して、私はこの異常な困難を経験しているため、これはイライラしています。私は SVN の経験が豊富で、GIT を使用するのは初めてです。
よろしくお願いします。