GitHub позволяет вам настроить ваш репозиторий, чтобы пользователи не могли заставить толчок освоить, но есть ли способ предотвратить тотализацию целиком? Я надеюсь сделать это так, чтобы единственный способ добавить к фиксации для мастерства - через интерфейс запроса запроса GitHub.
Предотвращать толкание, чтобы овладеть GitHub?
Ответ 1
Начиная с первоначального вопроса/ответа, Github добавил новую опцию для этого в пользовательский интерфейс с ограниченными ветками, который позволяет вам настроить это.
Требовать проверки запросов на извлечение перед объединением. Когда этот параметр включен, все коммиты должны быть сделаны в незащищенную ветку и отправлены через тянуть запрос с необходимым количеством одобрительных отзывов и нет Запрошенные изменения, прежде чем он может быть объединен в ветку, которая соответствует это правило.
Ответ 2
Вы можете включить ограничения отрасли и решить, кому (в терминах пользователей и команд организации) разрешено нажать.
https://help.github.com/articles/about-branch-restrictions/
"Примечание. Если" Включить администраторов "отмечен, и вы включили необходимые проверки состояния в ветке, и они не работают, любая попытка нажимать изменения на базовую ветку также завершится неудачно, независимо от статуса разрешения пользователя или команды".
Ответ 3
Текущий принятый ответ на самом деле правильный, но если вы являетесь владельцем организации или обладаете правами администратора, как в случае, если вы создали репо, вы все равно можете перейти к защищенным ветвям. Из документации Github на https://help.github.com/en/articles/about-branch-restrictions:
Владельцы организации и люди с правами администратора для репозитория всегда могут перейти в защищенную ветку.
Для любого другого типа соавтора git push
не удастся.
Если вы действительно хотите отключить нажатие qt all, то вам нужно настроить это локально, настроив неверный pushRemote
для ветки, как упоминалось ранее:
git config branch.master.pushRemote no_push
или вы можете установить крючок предварительного нажатия, как показано здесь: https://gist.github.com/vlucas/8009a5edadf8d0ff7430
Ответ 4
Прямое нажатие на удаленный мастер отклоняется, когда включены проверки состояния, а это означает, что единственный способ добавить коммиты на удаленный мастер - это объединение запросов на получение запросов (которые проходят проверки статуса) на GitHub.
Вот мой результат эксперимента для главной ветки, требующей проверки статуса:
- Создайте коммит в главной ветке на моем ПК.
- Нажмите на удаленный мастер.
- Появится сообщение об отказе. В конце фиксация не отправляется на удаленный сервер.
C:\GitRepo\GitHub\TomoyukiAota\photo-location-map [master ↑1]> git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 12 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 305 bytes | 305.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
remote: error: GH006: Protected branch update failed for refs/heads/master.
remote: error: 3 of 3 required status checks are expected.
To https://github.com/TomoyukiAota/photo-location-map.git
! [remote rejected] master -> master (protected branch hook declined)
error: failed to push some refs to 'https://github.com/TomoyukiAota/photo-location-map.git'
C:\GitRepo\GitHub\TomoyukiAota\photo-location-map [master ↑1]>