Как ограничить пуш на ветке? - PullRequest
0 голосов
/ 30 декабря 2018

У нас есть серверная реализация git repo.Я хотел бы ограничить пуш в одной из веток репо для всех, кроме меня.

Итак, я добавил под .git/hooks/update на сервере git dir такой скрипт

#!/bin/sh
if [ "$USER" != "Aleksey" ] && [ "$1" == refs/heads/test_br ];then
echo "Manual pushing to this repo is restricted"
exit 1
fi

И я вижу, что условие "$USER" != "Aleksey" всегда true.Похоже, второе условие - это хорошая работа, а имя - нет ...

Кто знает, в чем проблема?Может мне нужно сравнить с почтой пользователя?Или что-то другое?

Не стесняйтесь спрашивать

1 Ответ

0 голосов
/ 30 декабря 2018

git не имеет представления о пользователях.Какой бы протокол вы не использовали для передачи на $USER, это пользователь, под которым работает серверная часть git.Например, если вы нажимаете как git push git@remote-server/repo.git, то $USER всегда git .

Если вы хотите защитить ветку на основе пользователя, вам нужно установить что-то, что имеет представление о пользователях - Гитолит, Гитхаб, Гитлаб, и т. Д. .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...