Как разрешить коммиты только для определенных имен / писем в Azure DevOps? - PullRequest
0 голосов
/ 27 октября 2018

Я недавно перешел на Git Azure-devops из Github. Я обнаружил, что иногда мои коммиты имеют имя и адрес электронной почты, отличные от тех, с которыми я входил.

Я понял, что это из-за моих локальных настроек git, и смог это исправить .

Мне было интересно, есть ли способ предотвратить это. i.e - одобрить коммит, только если адрес электронной почты и имя пользователя совпадают с адресом электронной почты и именем пользователя, использованными для входа.

1 Ответ

0 голосов
/ 27 октября 2018

Из-за распределенной природы Git, пользователь нередко вносит изменения, внесенные другим человеком, а затем помещает их в свой собственный репозиторий git.По сути, это то, что делает Pull-запрос.

Из-за этого ни Git, ни Azure DevOps Repos не знают, намеренно ли вы отправляете коммиты с разными именами и адресами электронной почты.

Это такжепочему Azure DevOps Reps отслеживает «толкателя», а также «коммиттера».Если вы посмотрите на Pushes в своем репозитории, то увидите, что каждый раз, когда в репозиторий помещаются новые коммиты, репозитории Azure DevOps отслеживают, кто выполнил push и какие коммиты содержались в нем.

Если вы хотите убедиться, что вы не создаете новые коммиты с неправильным адресом электронной почты / именем, то лучше всего добавить локальный хук предварительной фиксации. Вы можете найти пример здесь .Эти перехватчики будут выполняться в вашем локальном репозитории даже до того, как будет передан коммит.

Другой вариант может состоять в том, чтобы установить Политику в ветке, в которую вы хотите перейти, и в рамках этой политики запустить быструю сборку CI.Там вы можете проверить, есть ли нежелательные имена и выполнить запрос на получение ответа.

...