Если вы используете WAMP. Щелкните левой кнопкой мыши по значку WAMP, затем перейдите в MySQL -> Настройки MySQL -> sql-mode, а затем выберите режим sql-mode-> user
Хуки запускаются от имени пользователя, выполняющего push. Если у вас есть какая-то предварительная настройка, это может быть пользователь типа git
или gitosis
, или это можете быть вы. Просто посмотрите, как у вас настроен пульт. (git remote show
или просто посмотрите .git/config, если не знаете) Предположительно, вы толкаете через SSH, и в URL есть имя пользователя@hostname.
P.S. Продемонстрировать это можно довольно быстро - просто клонируйте репозиторий локально, вставьте хук post-update с echo $USER
или что-то подобное, и попробуйте выполнить push от своего имени или имени другого пользователя (напрямую или через ssh).
Я решил проверить это на своем сервере gitlab 6, создав ловушку предварительного получения и отобразив информацию о пользователе
$ cat /home/git/repositories/foo/foo.git/hooks/pre-recieve
#!/bin/bash
set -x
echo -e "The user the hook is run as is $USER"
echo -e "Just to doublecheck, the user is $(whoami)"
exit 1
Похоже, что он запускается как пользователь git
$ git push
Counting objects: 3, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 269 bytes | 0 bytes/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: + echo -e 'The user the hook is run as is'
remote: The user the hook is run as is
remote: ++ whoami
remote: + echo -e 'Just to doublecheck, the user is git'
remote: Just to doublecheck, the user is git
remote: + exit 1