Ответ 1
Ну, вроде. Но я не думаю, что вы хотите пойти туда.
Как говорит Джейсон, есть крючки, которые можно использовать для предотвращения определенного поведения. В этом случае мы могли бы использовать привязку pre commit, чтобы кто-либо не выполнял "git commit". Но это проблематично несколькими способами:
- По соображениям безопасности, git перехватчики не распространяются вместе с репозиторием, поэтому вы не можете заставить людей использовать ваши перехватчики в своих хранилищах. Помните, что их хранилища являются собственными, а не для вас, чтобы решить, что они делают в своих хранилищах.
- Что происходит, когда вы делаете попытку или слияние и получаете конфликты? Чтобы решить эти конфликты, вы должны использовать "git commit", который мы сейчас отключили.
Это создает больше проблем, чем решает.
Однако вы могли бы решить это другими способами. Вы можете создать рабочий процесс, который будет выполнять эти принципы. Например, представьте, что у вас есть человек A, ответственный за выполнение слияния из тестовой ветки в ветку освобождения. Если вы позволите только этому человеку вносить изменения в центральный репозиторий (или что репозиторий лиц является "центральным" репозиторием), он может вносить изменения из тестовой ветки тестового репозитория или тестовую ветвь тестер B (используйте свое воображение).
Что важно здесь, чтобы понять, что вы можете применять политику, создавая способы обмена друг с другом. Не каждый должен иметь возможность вносить свои изменения в репозиторий один. Черт, им вообще не нужно толкать свои изменения. Испытуемые люди/люди могут вносить изменения в разработчики, как только они хотят что-то протестировать, и таким образом вы можете позволить тестировать решение, когда они готовы вносить новые изменения, не позволяйте разработчикам решать, когда тестеры должны получить свои вещи. Тот же принцип.