Gitlab sagt "Machen Sie die Hook-Datei ausführbar und stellen Sie sicher, dass sie Git gehört.", aber ich leseHierdass eine Datei vom Besitzer, der Gruppe oder der Welt ausführbar sein kann. Was ist also damit gemeint?
Im Moment ändere ich
-rw-r--r-- 1 git git 0 Jun 24 00:32 pre-receive
Zu
-rwxr--r-- 1 git git 0 Jun 24 00:32 pre-receive
Reicht es aus, es für den Besitzer einfach ausführbar zu machen?
Antwort1
Sie bedeuten „es für den Benutzer ausführbar machen, der die Anwendung aufrufen wird“. Dies ist normalerweise mit „eine Datei ausführbar machen“ gemeint, wenn nichts anderes angegeben ist.
Wenn nur der git
Benutzer die Datei ausführen können soll, machen Sie sie nur für den Besitzer ausführbar. Das könnte gemeint sein, da es sich um einen serverseitigen Hook handelt. Wennirgendjemandsollte die Datei ausführen können, die Datei muss von jedem ausführbar sein (das ist eher nicht die Absicht).
Daher (ggf. mit sudo
):
$ chown git pre-receive
$ chmod u+x pre-receive # or a+x if anyone should be able to run it
Antwort2
Tatsächlich hat das, was ich oben vorgeschlagen habe, funktioniert. Die Antwort ist,
-rwxr--r-- 1 git git 0 Jun 24 00:32 pre-receive