5

完全なエラーメッセージは次のとおりです。

could not symlink /var/lib/gitolite/.gitolite/hooks/common/gitolite-hooked to subdir/myrepo.git/hooks

これは、gitolite-adminに変更を加えて、これらの変更をプッシュすると発生します。これらのフックは何のためにありますか?それらが必要ですか?シンボリックリンクの問題は何ですか?

でリポジトリに別の場所を指定しまし$REPO_BASEたが、コマンドを使用して、gitoliteユーザーをこのパスとすべてのリポジトリの所有者にしたchownので、権限の問題にはなりません。

4

3 に答える 3

4

さて、なぜこれが起こったのかを知りました。おそらく私はGitの初心者だからです。私が$REPO_BASEに置いたリポジトリは、通常のリポジトリであり、実際のソースコードファイルは「ルート」ディレクトリのすぐ下にあります。

たとえば、/mnt/data/git/repositories/aproject/Main.cppなど。そのパスの下に実際のリポジトリが必要であることが判明したので、そうしました(これには.git-folderを使用できたかもしれませんが、これが私が行った方法です)git clone --bare aproject.git aproject.git2 && rm -rf aproject.git && mv aproject.git2 aproject.git:。

要するに、私はリポジトリのベアクローンを作成しました。だから今、/mnt/data/git/repositories/aproject/私たちは実際に「フック」フォルダを見つけることができます(エラーメッセージはそれが見つからないと文句を言います)。gitolite-adminリポジトリを新たにプッシュした後、すべてのキーがauthorized_keysに追加され、エラーメッセージが表示されなくなりました。

于 2011-08-14T09:05:45.527 に答える
3

これと同じエラーが発生しました。これは権限の問題でした。

Project.gitがrootではなくGitユーザーによって所有されていることを確認してください。

私が共有すると思った。

于 2012-04-04T05:52:52.937 に答える
0

これは、パーミッションの問題(そうすべきではないと言う)またはchmod(アクセス)の問題のいずれかです。
念のため、両方のディレクトリの「ls -alrt」を使用して質問を編集できます。新しいリポジトリの宣言
中に失敗した場合は、新しいプッシュのたびに宣言を試み続けます。

于 2011-08-13T13:08:29.360 に答える