Gitlabは言う「フックファイルを実行可能にし、gitが所有していることを確認します。「」と読んだがここファイルは所有者、グループ、ワールドによって実行可能であること。では、これらはどれを意味しているのでしょうか?
今私は変化している
-rw-r--r-- 1 git git 0 Jun 24 00:32 pre-receive
に
-rwxr--r-- 1 git git 0 Jun 24 00:32 pre-receive
所有者が実行できるようにするだけで十分でしょうか?
答え1
これらは、「アプリケーションを呼び出すユーザーが実行できるようにする」という意味です。これは通常、他に何も指定されていない場合に「ファイルを実行可能にする」という意味になります。
ユーザーだけgit
がファイルを実行できるようにする場合は、所有者だけが実行できるようにします。これはサーバー側のフックなので、おそらくこれが彼らの意図するところでしょう。誰でもファイルを実行できる必要がある場合、ファイルは誰でも実行可能である必要があります (これは意図されている可能性は低いです)。
したがって(おそらく とともにsudo
):
$ chown git pre-receive
$ chmod u+x pre-receive # or a+x if anyone should be able to run it
答え2
確かに私が上で提案したことはうまくいきました。答えは
-rwxr--r-- 1 git git 0 Jun 24 00:32 pre-receive