Ну, если вы используете ssh для подключения, вы можете использовать $ USER, так как это похоже на работу. Если это не работает на вашем ssh, просто запустите «ssh someuser @ your-git-address env», чтобы получить список переменных среды, так как все они будут работать.
Мой сценарий, запрещающий пользователям выдвигать изменения в мастер (НО теперь мне нужно выяснить, как они могут это исправить, чтобы они могли чистить и извлекать свои изменения из мастера, но перемещая свои изменения в другую ветку или то) ...
#!/bin/sh
# <oldrev> <newrev> <refname>
# update a blame tree
while read oldrev newrev ref
do
echo "STARTING [$oldrev $newrev $ref]"
if [ $ref == "refs/heads/master" ] && [ $USER != "hudson" ]
then
echo "YOU CANNOT COMMIT STUFF TO MASTER BRANCH"
echo "TO CORRECT THIS run"
echo "git reset --soft HEAD^"
echo "git branch -c <branch name> then run"
echo "git push <reponame> <branch name>"
echo "and hudson will take and push to master IF it passes the tests"
exit 1;
else
echo "This is hudson, allowing commit to master"
fi
done
аналогичный ответ здесь, но с двумя сценариями ..
Как я могу помешать себе совершить переход в основную ветку в git?