3

gitosisを使用してgitプロジェクトを管理する方法に関する指示に従おうとしました。1 つの小さな問題を除けば、 gitosisを正常にインストールできました。

最初の git プロジェクトを作成しようとすると (gitosis を使用してプロジェクトをセットアップおよび構成した後)、問題が発生します。リモート git リポジトリにプッシュすると、次のエラーが表示されます。

致命的: '/home/git/repositories/idea-generator.git' は git リポジトリではないようです
致命的: リモート エンドが予期せず電話を切りました

これらは、gitosis をインストールし、最初のプロジェクトを最初から最後までプッシュするために実行している一連のコマンドです。これらのコマンドを同じサーバーに対して実行しています。今のところ、私の開発マシンは中央の git リポジトリですが、ある時点で、git やその他のプロジェクトを収容する専用のスタンドアロン サーバーになります。

OS: Ubuntu 10.04 git: 1.7.0.4 python: 2.6.5

cd /ホーム/rdn/プロジェクト
git クローン git://eagain.net/gitosis.git
CDギトシス
sudo python setup.py インストール
sudo adduser --system --shell /bin/sh --gecos 'git バージョン管理' --group --disabled-password --home /home/git git

sudo -H -u git gitosis-init < /home/rdn/.ssh/id_rsa.pub
sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update
CD ..

# この時点で、指示された 'git clone git@Frankenstein:gitosis-admin.git' を使用できません。
git クローン git@Frankenstein:/home/git/repositories/gitosis-admin.git
cd gitosis 管理者
gedit gitosis.conf
# ../gitosis-admin/gitosis.conf に以下のエントリを追加
# [ギトーシス]
# ログレベル = デバッグ
# リポジトリ = /home/git/リポジトリ
#
# [グループ gitosis-admin]
# 書き込み可能 = gitosis-admin
# メンバー = rdn@Frankenstein
#
# [グループ アイデア ジェネレーター]
# 書き込み可能 = アイデア ジェネレーター
# メンバー = rdn@Frankenstein

git commit -a -m "最初のリポジトリを作成しました"
ギットプッシュ
CD ..

Railsの新しいアイデアジェネレーター
CDアイデアジェネレーター
git初期化
git remote add main_project git@Frankenstein:/home/git/repositories/idea-generator.git
git add .
git commit -a -m "最初のプロジェクト作成"
git push main_project master:refs/heads/master

アップデート

これを「修正」できる唯一の方法は、リモート サーバーにログインして、次のようにリモート リポジトリを作成することでした。

gitosis リポジトリの場所で git ユーザーとして、リモートのベア プロジェクトを作成します。

git:~ cd /home/git/repositories
git:~ mkdir idea-generator.git
git:~ cd myapp.git
git:~ git --bare init

コミッター ユーザー (私の場合は rdn) として、新しく作成した project をコミットしてプッシュします。

rdn:~ cd /home/rdn/projects/idea-generator
rdn:~ git init
rdn:~ git remote add main_project git@Frankenstein:/home/git/repositories/idea-generator.git
rdn:~ git add .
rdn:~ git commit -a -m "初期プロジェクト作成"
rdn:~ git push main_project master:refs/heads/master

私が読んだすべてのチュートリアルとドキュメントでは、この重要なステップが省略されていました。おそらく他のディストリビューションではこの手順は必要ありませんが、私の場合は必要でした。うまくいけば、誰かがこの最初の質問に答えて、元のチュートリアルを Ubuntu 10.04 で機能させるために変更する必要がある手順を判断できるでしょう。

4

2 に答える 2

1

フルパス(/home/git/repositories/idea-generator.git) でリポジトリをフェッチ/プッシュできる場合は、gitosis を完全にバイパスしていることになります。gitosis を使用しない方がよいかもしれません。

これが、プッシュがレポを自動作成しなかった理由でもあります。gitosis がバイパスされたため、自動作成は行われませんでした。

gitosis を適切に使用すると、URL は git@Frankenstein:gitosis-admin.git のようになります (これを正常に複製したとのことです)。

于 2010-08-17T07:04:30.810 に答える
0

チュートリアルを正常に実行しました。私のサーバーは ubuntu 10.4 を実行する「valkyrie」で、クライアントの「wraith」は OS X 10.6.1 です。サーバーのキーではなく、クライアントの rsa/dsa キーを使用していることを確認してください。これが私の例です:

echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIw...== mwilliamson@wraith" | sudo -H -u git gitosis-init
于 2010-08-08T05:27:32.417 に答える